Integrando Google Drive en nuestras apps (I) Preparación y permisos

Cualquier dueño de un dispositivo Android con acceso a Google Play tiene forzosamente una cuenta de google activa. Toda cuenta de google activa tiene acceso a los servicios de Google Drive: almacenamiento, documentos, etc. Es por ello que me pareció particularmente interesante acceder desde una app a dichos recursos. Debido a la variedad de servicios que ofrece, haré de esto una serie de artículos. Investigué esta página (gracias @spcoder, porque yo había encontrado tropocientas diferentes pero no ésta) y di con un howto para crear una app sencillita con la que tomar fotos y guardarlas en el espacio de almacenamiento de Google Drive. Tras sufrir y corregir los errores que me encontré, pensé que sería una buena idea compilarlo todo en un post. Sin embargo, y para no arrollar con demasiadas cosas a la vez, dedicaremos este artículo principalmente a la preparación necesaria para que tu app pueda acceder a los servicios de Google Drive.

1. Preparar el entorno

Estos preparativos afectan al IDE (Eclipse, en nuestro caso) y a nuestro espacio de trabajo o Workspace.

Preparativos en Eclipse.

Necesitaremos que Eclipse disponga de lo siguiente:

  • El google plugin for eclipse.
  • La librería google_play_services

El plugin ‘google plugin for eclipse’ se puede instalar siguiendo las instrucciones de esta página. Este plugin sirve, principalmente, para facilitar la tarea de añadir las librerías cliente necesarias a nuestro proyecto con un par de clicks. Ya hemos visto en otra ocasión cómo instalar un plugin en Eclipse desde el propio Eclipse (el plugin ADT fue en ese caso), así que lo único que tenemos que hacer en la página de google es buscar nuestra versión de eclipse y tomar la url que debemos emplear, esperar a que cargue la lista y elegir el google plugin for eclipse. Una vez listo, instalamos (saldrá el aviso de “software no firmado” que tendremos que confirmar, estos de google…) y reiniciamos eclipse. Al volver a arrancar deberíamos tener un icono redondo azul con la g de google en nuestra barra de herramientas. A mí me salió a la izquierda del SDK Manager.

Y hablando del SDK Manager, tenemos que usarlo ahora. En la ventana que se abre, iremos al fondo hasta que veamos “extras” en el lado izquierdo. Ahí dentro tenemos que buscar Google Play Services e instalarlo.

Preparativos en el workspace

Cuando Google Play Services esté instalado, tocará importar el proyecto librería (la página de google decía que bastaba con el jar, pero no es cierto, en el próximo post os cuento), lo cual haremos con File > New > Import > Existing Android Code into Workspace > navegamos a dónde tengamos nuestra carpeta con el SDK (si no lo recordamos, en Window > Preferences > Android tenemos la SDK Location que es dónde tenemos que ir) buscar dentro de extras/google/google_play_services/libproject y aceptar. Se importará el proyecto, el cual está marcado como is Library, que tendremos que emplear en nuestras aplicaciones que quieran acceder a estos servicios.

Anotar la Huellas del Certificado de Firmas

Por último, tenemos que encontrar y anotar las Huellas del Certificado de Firmas, que necesitaremos para acceder a las API de Google. Para ello haremos lo siguiente en sistemas Linix (es el sistema que manejo, pero seguramente habrá un equivalente para otros sistemas a un vistazo en Google =3):

En un Terminal ejecutaremos el siguiente comando keytool:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v

La keystore o almacén de claves de android está normalmente en /home/usuario/.android/debug-keystore. Esto nos dará una lista de Huellas que tiene la firma que el sistema da automáticamente a todas nuestras aplicaciones, la firma de debug. Cuando queramos publicar la app, tendremos que firmarla con una firma privada, pero eso es otro tema.

En lo que nos devuelve ese comando tenemos que buscar la línea que comienza por “SHA-1” y dejarla apuntada, ya que la necesitaremos mas adelante.

2. Preparar el proyecto

Los siguientes preparativos se refieren al proyecto o aplicación que tengamos entre manos y ha de repetirse para cada aplicación en la que queramos integrar los servicios de Google Drive.

Obtener el permiso para que nuestra app pueda acceder a los servicios de la API de Google Drive.

Crear el API Project en la consola de APIs de google. Le daremos el nombre de la app a la que queramos que Google de paso cuando usemos las llamadas de sus APIs. Una vez creado, seguimos los siguientes pasos dentro de la misma consola:

  1. En el desplegable, elegimos Services. Saldrá un listado con las API de Google a las que querremos que tenga acceso nuestra app, así que buscaremos Drive API y la activaremos.
  2. En el desplegable, elegimos API Access. Accedemos a Create an OAuth 2.0 client ID y lo cumplimentamos con la siguiente información:
    • En Branding Information ponemos el nombre de nuestra aplicación. El resto de campos son opcionales, por lo que pulsaremos Next.
    • En Client ID Settings:
      • En Application type: Installed application
      • En Installed Application Type: Android
      • En Package Name: el package name de nuestro proyecto (ejemplo: com.alberovalley.gdrivetutorial)
      • En Signing Certificate fingerprint: la cadena de texto que copiamos de nuestra clave de debug (sin el SHA-1).
      • Clickamos en Create Client ID.

Librerías y dependencias del proyecto

Usando el plugin de google para Eclipse, elegimos del desplegable Add Google APIs. En la nueva ventana, buscaremos Drive API v2. Con esto habremos añadido la librería cliente de Google Drive.

En el proyecto Properties > Android añadimos el proyecto librería google_play_services que dejamos preparado en el punto 1. El quickstart de Google sólo habla de añadir el jar que viene ahí, pero si se hace como dice, al ejecutar la app te dará un NoClassDefFoundError porque necesita el código y los recursos que están definidos en el proyecto, no sólo el jar.

3. Empezar a programar

Cuando hemos llegado a este punto, ya sólo queda empezar a programar nuestra app. En el próximo artículo haremos una app muy sencilla (una única Activity y sin usar siquiera su layout) que nos pedirá que nos loguemos con nuestra cuenta de Google, nos permitirá tomar fotografías y las subirá a nuestro Google Drive, tal como dije en la introducción.

Anuncios

One Trackback to “Integrando Google Drive en nuestras apps (I) Preparación y permisos”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: