La API URL Shortener es un servicio de Google que coge una URL larga, como puede ser http://programacion.net/articulo/snippets_de_wordpress_que_te_sacaran_de_mas_de_un_apuro_1601 y la transforma en una mucho más pequeña como goo.gl/qYnfyd, para que la puedas utilizar en tuits, etc…
Cuando enviamos una petición (de una URL larga para hacerla mucho más corta) al servicio de la API de URL Shortener, Google autentifica nuestra aplicación con una API key o a través de OAuth. Por lo que necesitaremos tanto la Google API Key como el client ID de Google oAuth 2.0.
Para obtener la Google API Key y el client ID de Google Auth 2.0 solo debes seguir los pasos que te indican en este artículo. Es la mar de sencillo.
Aquí tienes el script PHP de ejemplo para el servicio Shortener de Google.
$msg = ''; $flag = false; try { if (isset($_POST['url'])) { $url = $_POST['url']; $referer = 'http://www.programacion.net/'; $apiKey = 'YOUR API KEY'; $post_data = json_encode( array( 'longUrl'=>$url ) ); $ch= curl_init(); $arr = array(); array_push($arr, 'Content-Type: application/json; charset=utf-8'); curl_setopt($ch, CURLOPT_HTTPHEADER, $arr); curl_setopt($ch, CURLOPT_URL,"https://www.googleapis.com/urlshortener/v1/url?key=".$apiKey); curl_setopt($ch, CURLOPT_REFERER, $referer); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // we are doing a POST request curl_setopt($ch, CURLOPT_POST, 1); // adding the post variables to the request curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $output = curl_exec($ch); if(curl_errno($ch)) { throw new Exception(curl_error($ch)); } $short_url = json_decode($output); if(isset($short_url->error)){ throw new Exception($short_url->error->message); } $msg = $short_url->id; $flag = true; curl_close($ch); } } catch (Exception $e) { $msg = $e->getMessage(); $flag = true; }
1. Obtenemos la URL del usuario a través de un envio de un formulario HTML
2. Utilizamos CURL (la librería de PHP) para enviar la petición (de la URL larga a la API de Google) a la API Shortener de Google.
Nota: CURL es una librería de php que nos permite conectar y comunicarnos con diferentes servidores (Linux, Windows…) con distintos protocolos http, https, ftp y muchos más.
Ejemplo de petición de url:
https://www.googleapis.com/urlshortener/v1/url?longUrl=”http://programacion.net/articulo/usos_creativos_de_la_pseudo_clase_de_css_target_1603”&key=’AIzaSyCBadfG30NHySfUNP8H1ofsgdrt45fdghd’
Nota: Ni se te ocurra utilizar la URL de antes directamente. Obtendrás un error. Lo que tienes que hacer es la petición a Google a través de CURL como has podido ver en el ejemplo anterior.
El servicio Shortener de Google nos brinda una respuesta en formato JSON
4. Finalmente, convertimos la cadena JSON en un objeto JSON utilizando el método json_decode()
$output = curl_exec($ch); curl_close($ch); $short_url=json_decode($output); echo $short_url->id;
Fuente: smarttutorials.net