Cómo crear URLs cortas de Bit.ly usando PHP

Bit.ly es un estupendo servicio de acortamiento de URLs que cuenta con el importante respaldo de ser el servicio por defecto en Twitter.

Destaca por su fiabilidad, las URLs tan cortas que genera, y la información que proporcionan sobre una URL dada. Hace poco que Bit.ly actualizó su API a la versión 3.0, así que vamos a mostrarte cómo puedes crear o expandir URLs cortas utilizando Bit.ly.

/* devuelve la URL acortada */
function get_bitly_short_url($url,$login,$appkey,$format='txt') {
	$connectURL = 'http://api.bit.ly/v3/shorten?login='.$login.'&apiKey='.$appkey.'&uri='.urlencode($url).'&format='.$format;
	return curl_get_result($connectURL);
}

/* devuelve la URL expandida */
function get_bitly_long_url($url,$login,$appkey,$format='txt') {
	$connectURL = 'http://api.bit.ly/v3/expand?login='.$login.'&apiKey='.$appkey.'&shortUrl='.urlencode($url).'&format='.$format;
	return curl_get_result($connectURL);
}

/* devuelve la URL con varios datos */
function curl_get_result($url) {
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
	$data = curl_exec($ch);
	curl_close($ch);
	return $data;
}

/* obtiene la URL corta */
$short_url = get_bitly_short_url('http://www.webmasterio.com/','webmasterio','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

/* obtiene la URL larga a partir de la corta */
$long_url = get_bitly_long_url($short_url,'webmasterio','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

Todo lo que hay que hacer es pasarle tu clave de aplicación y login (hay que registrarse para los servicios de la API), la URL larga o corta, y el formato en el que quieres que te devuelva el resultado. Si sólo quieres la URL sin más información, utiliza el formato por defecto TXT. Recuperar la información en formatos XML o JSON te proporcionará muchos más datos sobre la URL.

Fuente: Create Bit.ly Short URLs Using PHP: API Version 3 [david walsh blog]

¿Te ha gustado este artículo? ¡Compártelo!
  • RSS
  • Facebook
  • Twitter
  • BarraPunto
  • Meneame
  • Google Bookmarks
  • Digg
  • del.icio.us
  • LinkedIn
  • Reddit

Tienes que identificarte para escibir comentarios.

line
footer
Desarrollado por Wordpress  |  Diseñado por Elegant Themes  |  Modificado por  Iteisaburo