El servicio de goo.gl es genial para empequeñecer nuestras URLs y convertir una URL tipo https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones
en algo tan minúsculo como https://goo.gl/EfF5
.
La URL Shortener API es la API que nos ayudará a crear programáticamente estas URLs acortadas.
Podemos hacer uso de las extensas librerías oficiales creadas por Google así como también de librerías externas como pueden ser node-googl o googl-php, pero en este artículo os vamos a explicar como hacer estas peticiones utilizando la API mediante Node.js de manera fácil y sin dependencias.
Utilizaremos únicamente la librería request por ser algo casi obligatorio hoy en día para realizar peticiones HTTP en Node.js.
Autorización
Lo primero que hay que hacer es autenticarnos con Google para poder realizar las peticiones, ya que desde hace un tiempo viene siendo obligatorio. Podemos crear un token OAuth 2.0 o, de manera más sencilla, solicitar una API key.
La API key se solicita en la consola de desarrolladores de Google pero antes de nada, debemos activar la "URL Shortener API" en nuestro proyecto. Esto se hace navegando por el menú de la izquierda hasta la sección "APIs" dentro del apartado "APIs y autenticación". A continuación activamos la "URL Shortener API".
Después en el mismo apartado del menú, seleccionamos "Credenciales" y en la parte inferior creamos una nueva clave en "Acceso a API pública". Elegimos "Clave de servidor" y le indicamos desde que IPs accederemos al servicio.
Esta clave de la API es la que utilizaremos en el querystring para autorizar el acceso.
Uso de la API
Acortar una URL
Para acordar una URL hacemos una petición POST, especificamos nuestra API key mediante el querystring, rellenamos el body
de la petición con la variable longURL
(que viene a ser la URL que queramos acortar) y, por último, le decimos a request que recibiremos un objeto JSON.
Expandir una URL
Para obtener la URL original de una acortada por goo.gl, solo tenemos que llamar a la API mediante el método GET, pasando a través del querystring la API key y la variable shortURL
(la URL corta que queremos expandir) y, nuevamente, indicar a request que recibiremos un objeto JSON.
Estadísticas
Para consultar las estadísticas de un enlace acortado solamente tenemos que añadir la variable projection=FULL
al ejemplo anterior, es decir:
qs:
'key': 'API_KEY'
'shortUrl': 'https://goo.gl/DSPrBZ'
'projection': 'FULL'
Si queremos ver las estadísticas a través de un navegador sólo tenemos que añadir .info
al enlace corto y acceder a él, ejemplo: https://goo.gl/IWdW7n.info
.