Acceso al API de bit.ly desde PHP

  • Por
  • PHP
Veamos un script PHP que consume datos del API de bit.ly. En este caso vamos a mostrar cómo acortar una URL desde PHP utilizando este servicio web.
En los pasados artículos del Manual del API de bit.ly que estamos publicando en DesarrolloWeb.com ya ofrecimos unas notas iniciales sobre las posibilidades del API de bit.ly, que nos permite acortar URLs y obtener información sobre URLs cortas que se han generado utilizando este servicio web.

Así que ahora vamos a comenzar a hacer cosas más prácticas y divertidas. En este caso se trata de hacer un script PHP que se encargue de conectarse con el API, para enviar una URL larga y obtener una corta. Como veremos en este artículo, se trata de una tarea bastante sencilla, aunque requiere de varios pasos, que listamos a continuación.

  1. Componer una URL para la consulta en el API de bit.ly
  2. Acceder a esa URL por medio de PHP y recibir la información en formato JSON
  3. Convertir el JSON resultante en un array asociativo de PHP
  4. Acceder a los datos que necesitemos, es decir a la URL corta generada por bit.ly
Nota: La mayoría de las acciones que vamos a realizar las hemos trabajado anteriormente en distintos artículos de DesarrolloWeb.com, como podrían ser Lectura de texto de una URL o Consumo de JSON desde PHP.

El código del ejemplo básico de uso del API de bit.ly desde PHP que hemos creado es el siguiente:

//unas variables de configuración
$servicio_web = "http://api.bit.ly/";
$version_API = "version=2.0.1";
$usuario = "login=usuario"; //sustituye por tu usuario del API
$llave = "apiKey=R_000000"; //sustituye por tu clave del API

//la URL que quiero acortar
$URL_larga = "http://www.desarrolloweb.com/manuales/";

//codifico en formato de URL la URL larga
$query_URL = "&longUrl=" . urlencode("http://www.desarrolloweb.com/manuales/");

//genero la URL para consultar en el API de bit.ly
$URL_consulta_API = $servicio_web . "shorten?" . $version_API . "&" . $query_URL . "&" . $usuario . "&" . $llave;

//leo lo que me devuelve el API al hacer esa consulta, que estará en formato JSON
$respuesta_API = file_get_contents($URL_consulta_API);

//ahora tengo que consumir ese JSON para convertirlo en una estructura de datos accesible desde PHP
$respuesta_API = json_decode($respuesta_API, true);
//el true anterior hace que json_decode me devuelva sea un array asociativo.

//ahora podríamos mostar el contenido completo de la respuesta.
echo "<pre>";
var_dump($respuesta_API);
echo "</pre>";

//compruebo si hubo algún problema
if($respuesta_API["errorMessage"]==""){
   //Todo bien, pues no hay errores
   //muestro la URL corta generada por el API
   echo $respuesta_API["results"][$URL_larga]["shortUrl"];
}else{
   echo "Hubo un error";
}

Con esto tenemos listo un ejemplo de uso del API, que esperamos se haya podido entender a través de los comentarios. Recuerda sustituir por tus propios datos, tanto el usuario y clave del API como la URL que quieras acortar con bit.ly.

Como se ha podido comprobar, la tarea no es nada complicada, aunque todavía puede ser más fácil, como veremos en el siguiente artículo, en el que explicaremos y ofreceremos ejemplos sobre una clase PHP, de programación orientada a objetos, que existe para acceder al API de bit.ly de una manera más cómoda.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

jose ivan gallart lloret

31/3/2010
script de bit.ly erroneo
Fatal error: Call to undefined function: json_decode() in /mnt/web8/13/14/51731914/htdocs/bitly.php on line 21

midesweb

03/5/2010
El error Call to undefined function: json_decode()
Hola,

El error ese que te sale:

Call to undefined function: json_decode()

Debe de ser porque utilizas PHP 4, que no tenía todavía integrada de manera predeterminada esas funciones para trabajo con json.

En el artículo librerías de json para php tienes varias posibilidades para hacer que php interprete el json por medio de esta y otras funciones:
http://www.desarrolloweb.com/articulos/librerias-json-php.html

jose

15/10/2013
acortar url bitly
hola amigo, muy bueno tu articulo aunque tiene bastante tiempo, requiero de esta funcionalidad ahora, mi pregunta es donde le das el formato de url corta que se desea generar.