En este tip vamos a ver cómo acortar direcciones URL a través del API de Google en dos simples pasos. Primero activaremos el servicio en Google y obtendremos la clave necesaria para su uso, y a continuación programaremos dos sencillos scripts para echarlo a andar.
Lo primero que debemos hacer es disponer de una cuenta en Google y acceder al Área de Desarrolladores para conseguir nuestra API Key:
https://console.developers.google.com/project
En el menú "Proyectos", hacemos clic sobre "Crear Proyecto". En la pantalla emergente que nos aparece a continuación, introducimos el nombre que vamos a dar a nuestro proyecto y hacemos clic en "Crear".
Una vez creado el proyecto, accedemos al menú "APIs y autenticación" y a continuación "APIs" y buscamos "URL Shortener API".
En la siguiente pantalla, activamos el servicio. Dispondremos de un límite de 1.000.000 (un millón) de solicitudes diarias.
Una vez activado el servicio, y dentro del menú de la izquierda "APIs y autenticación", accedemos a "Credenciales" y a continuación hacemos clic en "Crear clave nueva" dentro "Acceso a API pública".
En la siguiente ventana emergente, seleccionamos "Clave de Servidor" e introducimos la IP del servidor (que podremos modificar más adelante) donde instalaremos el servicio.
Aceptamos y ya tenemos disponible nuestra API Key, del estilo:
AIzURixuB9d-deRq3_xIKUEYQoxUSTEz82osxYcTA
Con esta API Key, ya podemos programar nuestro servicio. Para ello vamos a crear dos páginas "acortador.php" (que se conectará al API de Google para acortar la URL) y "acortar.php" (que mostrará un formulario donde introduciremos la URL a acortar).
acortar.php
<?php
include("acortador.php");
$api = new GoogleURL('AIzURixuB9d-deRq3_xIKUEYQoxUSTEz82osxYcTA');
if($_POST[url]!="")
{
$acortada=$api->encode($_POST[url]);
}
?>
<style>
body{font-family:arial;size:11px;}
input{border: solid 1px #BEBEBE;background-color:#ffffff;height:20px;padding-left:1%;padding-right:1%;font-family:'arial';}
</style>
<form name='formx2ac' method='post' action='acortar.php'>
Acortar URL: <input type='text' name='url' id='url'> <input type='submit' value='Acortar'><br>
</form>
<?php
if($acortada!="")
{
echo "<b>$acortada</b>";
}
?>
Como vemos, acortar.php no es más que un sencillo formulario que se envía a si mismo. Comprueba si ha sido introducida una URL y si es así, realiza una solicitud al API de Google:
$acortada=$api->encode($_POST[url]);
Recordad modificar el valor de esta variable, con el API Key obtenido en los pasos anteriores:
$api = new GoogleURL('AIzURixuB9d-deRq3_xIKUEYQoxUSTEz82osxYcTA');
almacenando el resultado en la variable "$acortada", que mostraremos a continuación.
acortador.php
<?php
class GoogleURL
{
private $apiURL = 'https://www.googleapis.com/urlshortener/v1/url';
function __construct($apiKey)
{
//creamos la url de solicitud con nuestra key pública
$this->apiURL = $this->apiURL . '?key=' . $apiKey;
}
//convierte una url larga en una corta
public function encode($url)
{
$data = $this->cURL($url, true);
return isset($data->id) ? $data->id : '' ;
}
//convierte una url corta en la real (larga)
public function decode($url)
{
$data = $this->cURL($url, false);
return isset($data->longUrl) ? $data->longUrl : '' ;
}
//enviamos y recogemos los datos del api de google
private function cURL($url, $post = true)
{
$ch = curl_init();
if ($post) {
curl_setopt( $ch, CURLOPT_URL, $this->apiURL );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json') );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode(array('longUrl' => $url)) );
}
else {
curl_setopt( $ch, CURLOPT_URL, $this->apiURL . '&shortUrl=' . $url );
}
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
$json = curl_exec($ch);
curl_close($ch);
return (object) json_decode($json);
}
}
?>
Y ya estaría montado nuestro sistema para acortar URLs
Podéis obtener más información en:
https://developers.google.com/url-shortener/
No hay comentarios:
Publicar un comentario