Accediendo a los Servicios de Google desde JavaScript

Temas: JavaScript
Juan Mellado, 2 Diciembre, 2011 - 11:28

Google ha lanzado la versión alpha de Google APIs Client Library for JavaScript. O lo que es lo mismo, la posibilidad de acceder a través de JavaScript a todos los servicios de Google (Google+, Calendar, Translate, URL Shortener, Maps, ...). Ya existía en versión beta para otros lenguajes como PHP, Python, Java y .NET. Esta nueva versión para JavaScript se une al resto de versiones que se encuentran en fase alpha como las de Ruby, Objective C, GWT y Go.

He hecho una pequeña prueba ejecutando el API de Google+, lanzando consultas para obtener todas las novedades públicas aparecidas recientemente en mi cuenta de Google+ con el siguiente código:

<script src="https://apis.google.com/js/client.js?onload=init">
...
function init(){
  gapi.client.setApiKey('YOUR_API_KEY');

  gapi.client.load('plus', 'v1', function(){

      var request = gapi.client.plus.activities.list({
          'userId': '101388150953455772115',
          'collection': 'public'
        });

      request.execute( function(response){
        //Aquí se recibe la respuesta
        ...
        });
    });
}

Como se observa, hay que cargar el script de cliente (https://apis.google.com/js/client.js) indicando la función a la que queramos que se llame cuando termine de cargarse el script (?onload=init). Una vez cargado el script hay que establecer la clave personal de acceso al API (gapi.client.setApiKey) que podemos conseguir gratuitamente en la APIs Console. Y a continuación invocar al API que se quiera (gapi.client.load), como el de Google+ por ejemplo (plus), indicando la función que se quiere ejecutar, como la de consulta de actividad por ejemplo (gapi.client.plus.activities.list), y donde queremos recibir la respuesta (request.execute).

Para los que quieran probar sin tener que escribir código, las APIs se pueden consultar y ejecutar de forma online a través del APIs Explorer. Una aplicación muy útil para consultar parámetros y examinar resultados.

Utilizando mi ID de usuario en Google+ (101388150953455772115) he hecho una consulta para obtener mis últimas novedades públicas (public) y he obtenido el siguiente objeto respuesta:

Google API Client - JavaScript

Como se observa, hay un ID, un título, una fecha, una serie de urls y un array de objetos. Ese array es el que contiene las últimas novedades aparecidas en mi cuenta. Veamos el primero:

Google API Client - JavaScript

Nuevamente un id, un título, fechas y urls. Con esta información básica ya se podría montar un pequeño listado de novedades en una página web con los títulos y fecha, e incluso actualizarlo periódicamente desde los propios clientes en JavaScript. Pero aún podemos añadir más detalles examinando los campos actor y object:

Google API Client - JavaScript

Google API Client - JavaScript

El actor es el usuario que generó la actividad, y tenemos su id, nombre, url, e incluso un enlace a la imagen de su avatar.

El object es lo publicado, con su contenido completo, el número de veces que se ha compartido, el número de usuarios que han pulsado el botón "+1" sobre él y los comentarios que ha generado. Incluyendo además una lista de adjuntos, que es lo compartido (enlace, foto, vídeo, ...):

Google API Client - JavaScript

Un último punto que no hay que olvidar, es que el número de llamadas que se pueden realizar con un mismo ID está limitado por API y día. Cada API tiene un límite que Google denomina "de cortesía". Cuando en un día se supera dicho límite deja de funcionar hasta el día siguiente.

¿No encontró lo que buscaba?

Utilice el buscador para encontrar más páginas en esta web o en toda Internet.
 
Web www.inmensia.com