Ayer estaba implementando la posibilidad de asociar una URL única a los videos que se previsualizan en Feedky.com, y así poder compartir los enlaces por la red. El resultado al tener que incluir cuatro variables es el de una URL nada amigable, y ahora está muy de moda hacerlas tan cortas y sencillas como sea posible, así que tenía un problema. Me acordé de que BeTwittered convierte automaticamente cualquier dirección que le ponga a TinyURL, y pensé que tal vez habría alguna API por ahí. Efectivamente hay una sencillísima API que permite obtener la URL codificada por medio de una llamada HTTP (Ejemplo: http://tinyurl.com/api-create.php?url=http://bgmsx.com/). Es más que suficiente, pero yo buscaba algo más dinámico. No quiero gastar mi tiempo ni los recursos de TinyURL en generar URLs para cada resultado a riesgo de que luego no las vaya a usar, así que necesitaba una forma dinámica de generarlas solo en el momento en que realmente lo necesite, algo así como una función javascript. Como resultado tan solo encontré la web de remysharp.com donde el autor ha creado una API que permite convertir a TinyURL de forma dinámica, usando javascript. Me ha sido de gran ayuda, así que me he animado a añadir un resultado más entre las búsquedas de Google. ¿Para que me sirve esto? Para convertir al vuelo una URL larga, con variables y todo lo compleja que quieras a una versión mucho más corta e igualmente funcional. Me has convencido, ¿cómo funciona? Tan solo has de incluir en tu código dos funciones de JavaScript. La primera se encarga de enviar la petición a la API de Remy Sharp, y la segunda de recibir el resultado. Funciones
function tinythis(url){ var s = document.createElement(´script´); s.setAttribute(´src´, ´http://remysharp.com/tinyurlapi?callback=tinyurlCallback&url=´ + url); document.body.appendChild(s); }
function tinyurlCallback(url){ alert(´Your link: ´ + url); }
¿Cómo se usa? Simplemente llamando a la función tinythis() pasándole la url que queremos codificar. La API se encargará ella solita de llamarte a la función tinyurlcallback() para devolverte el resultado. Es así de fácil, es así de sencillo, es así de práctico! Código fuente API: http://remysharp.com/downloads/tinyurlapi.php ¡Todo el mundo a Tiniuerrelear!
04-10-2008