Bitly Shortener Plugin para Grails

A raíz de mi colaboración trabajando con UniversalPlaces, surgió la necesidad de integrar el acortador de urls de bit.ly. Principalmente para aprovechar las estadísticas que da este servicio alrededor de los enlaces compartidos, teniendo además uplac.es como dominio propio para este uso.

Lo desarrollé en un plugin que usamos internamente a modo de core, donde tenemos funcionalidad común. Porque, entre otras cosas, había que implementarlo en el buscador de hoteles en playas, en el portal de playas y en otro buscador vertical que saldrá a la luz próximamente.

Durante la semana pasada saqué un rato un par de noches para extraer la funcionalidad y escribir la documentación para poder publicarlo a modo de plugin de grails. No es gran cosa, pero quizás a alguien le ahorre un poco de trabajo :).

La documentación en inglés está en el README del repositorio en github, pero la dejo aquí en español:

¿Qué es?

Un plugin para grails que encapsula el método shorten de la API de bitly, para acortar urls.

Instalación

grails install-plugin bitly-shortener

Configuración:

En el Config.groovy se debe configurar el login de usuario de bitly, el apiKey de ese usuario; y si corresponde el dominio que se quiera utilizar.

bitly.login = "danilat"
bitly.apiKey = "R_FooBar"
bitly.domain = "j.mp" //optional

Cómo usarlo:

Hay 2 artefactos de grails que se pueden utilizar, un servicio bitlyService:

def shortened = bitlyService.shorten("http://www.danilat.com")
shortened.statusCode // 200 si la petición ha ido bien.
shortened.statusText // "OK" si la petición ha ido bien.
shortened.url // Nos da la url acortada si todo ha ido bien.

Y un taglib bitly:shorten:

${bitly.shorten(url:'http://www.danilat.com')}

<bitly:shorten url="http://www.danilat.com" />