Morton 6 de febrero de 2011 a las 09.15
   Imprimir artículo
elWebmaster.com

C贸mo utilizar el acortador de URLs de Google en tu sitio web


googlewideDesde hace un tiempo, Google posee el dominio de un acortador de URLs propio, pero no fue hasta hace unos d铆as que decidieron publicar el API de su acortador de URLs a todo el que quiera conocerlo. Con este truco, podr谩s acortar URLs desde tu sitio web utilizando s贸lamente un poco de PHP.

Fuente original del art铆culo: David Walsh Blog
Traducci贸n realizada por
elWebmaster.com

La clase que crearemos se llamar谩 GoogleUrlApi. Ser谩 bastante compacta y el c贸digo resulta, a grandes rasgos, sencillo de leer:

  1. // Declarar la clase
  2. class GoogleUrlApi {
  3.  
  4.   // Constructor
  5.   function GoogleURLAPI($key,$apiURL = 'https://www.googleapis.com/urlshortener/v1/url') {
  6.     // Keep the API Url
  7.     $this->apiURL = $apiURL.'?key='.$key;
  8.   }
  9.  
  10.   // Acortar una URL
  11.   function shorten($url) {
  12.     // Send information along
  13.     $response = $this->send($url);
  14.     // Return the result
  15.     return isset($response['id']) ? $response['id'] : false;
  16.   }
  17.  
  18.   // Expandir una URL
  19.   function expand($url) {
  20.     // Env铆a esta informaci贸n
  21.     $response = $this->send($url,false);
  22.     // Vuelve a los resultados
  23.     return isset($response['longUrl']) ? $response['longUrl'] : false;
  24.   }
  25.  
  26.   // Enviar informacion a Google
  27.   function send($url,$shorten = true) {
  28.     // Create cURL
  29.     $ch = curl_init();
  30.     // SI estamos acortado una URL...
  31.     if($shorten) {
  32.       curl_setopt($ch,CURLOPT_URL,$this->apiURL);
  33.       curl_setopt($ch,CURLOPT_POST,1);
  34.       curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array("longUrl"=>$url)));
  35.       curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/json"));
  36.     }
  37.     else {
  38.       curl_setopt($ch,CURLOPT_URL,$this->apiURL.'&shortUrl='.$url);
  39.     }
  40.     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  41.     // Ejecutar el post
  42.     $result = curl_exec($ch);
  43.     // Cerrar la conexi贸n
  44.     curl_close($ch);
  45.     // Devolver el resultado
  46.     return json_decode($result,true);
  47.   }

El constructor requiere tu clave de Google API.聽 Esta clase puede manejarse con dos m茅todos: acortar y expandir. Cada m茅todo toma la larga o corta URL, contacta a Google, y devuelve su contraparte. Si la contraparte no es encontrada, o el API del acortador de URLs de Google est谩 ca铆do, nos ser谩 devuelto como false, por lo que por favor aseg煤rate de no dejar ning煤n error.

Ahora creemos una instancia de GoogleUrlApi para acortar o expandir una URL:

  1. // Crear instancia con una clave
  2. $key = 'xhjkhzkhfuh38934hfsdajkjaf';
  3. $googer = new GoogleURLAPI($key);
  4.  
  5. // Test: Acortar una URL
  6. $shortDWName = $googer->shorten("http://davidwalsh.name");
  7. echo $shortDWName; // returns http://goo.gl/i002
  8.  
  9. // Test: Expandir una URL
  10. $longDWName = $googer->expand($shortDWName);
  11. echo $longDWName; // returns http://davidwalsh.name

Los m茅todos shorten() y expand() efectivamente devuelven sus contrapartes. Si bien esta clase est谩 simplificada, la API del acortador de URLs de Google provee otras cosas m谩s, como listas de URLs y trackeo de uso.

Fuente original del art铆culo: David Walsh Blog
Traducci贸n realizada por
elWebmaster.com


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (4)

  1. links for 2011-02-07 | Tombola! dice:

    […] C贸mo utilizar el acortador de URLs de Google en tu sitio web (tags: google url) […]

  2. Dise帽o web c谩diz dice:

    Me parece muy interesante y entretenido, sobre todo que la informaci贸n es detallada y precisa, espero que sigas posteando m谩s temas para informarnos y comentar.

  3. Hosting Hostalia dice:

    Lo vamos a recomendar que nos han preguntado algunos clientes 馃槈 para acortar url con este o con bit.ly

  4. John dice:

    Esta bueno pero seria mejor que la primera parte osea el dominio se quede original y solo despu茅s que acorte por que todos los rezultados comienzan con goo.gl

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder