DELPHI – Obtener los documentos creados en Google Drive

Uno de los servicios que ha crecido en popularidad es Drive de Google, pues permite la creación de hojas de cálculo, documentos y presentaciones desde su página web. Además de ello, Google nos ofrece una completa API que nos permite desde cualquier lenguaje de programación consultar y modificar los documentos que fueron creados en Drive. En esta entrada mostraré cómo es posible consultar los documentos creados en Google Drive usando Delphi.

** Importante. Para realizar esto es necesario contar con un Client-Id y un Client-Secret válidos.

He registrado una nueva cuenta de correo en Gmail para realizar este ejercicio y en ella se han creado algunos documentos.

Dado que para poder obtener el listado de los documentos creados en Drive es necesario utilizar el protocolo de seguridad OAuth2 (Puedes leer un poco más de ello en este enlace), usaremos el REST Debugger para poder realizar las pruebas de autenticación y lectura. Una vez conseguido de forma exitosa la autenticación y consumo de la API, será muy sencillo crear nuestra aplicación con Delphi. Así que como primer paso ejecutaremos El REST Debugger que puedes localizar en el directorio bin de la instalación de Delphi.


Una vez que hemos ejecutado el Debugger procederemos como primer paso a configurar la autenticación. Para ello seleccionaremos la pestaña “Authentication” y en ella de la lista de valores “Method” seleccionaremos OAUTH2 y en seguida presionaremos el botón “OAuth-Assistant” como se muestra en la siguiente imagen:

Ahora, presionaremos el botón “Step #1” para conseguir la autorización. Ello ejecutará una solicitud de permiso que será mostrada en el navegador:

 

DelphiLeeGoogleDrive

 

Debemos presionar aceptar para conseguir el código de autorización. Ese código deberemos copiarlo y pegarlo en el campo “Auth-code”. En este punto hemos logrado conseguir autorización pero para poder leer el contenido de Drive será necesario obtener el token de acceso y para ello presionaremos el botón “Step#2” como se muestra en la siguiente imagen:

DelphiLeeGoogleDrive-oauth2

Ahora presionaremos el botón Apply y entonces si tendremos listas nuestras credenciales de acceso para consultar el contenido de Google Drive. Para ello ejecutaremos Get sobre el recurso: https://www.googleapis.com/drive/v2/files El resultado que obtendremos será el siguiente:

ResponseJsonGoogleDrive

Como puede observarse, la respuesta de google ha sido en formato Json por lo que vamos a generar la vista en formato Dataset partiendo del elemento raíz “items” como puede verse en la siguiente figura:

DelphigetResponseJsonGoogleDrive

Es posible identificar en este formato el nombre de mis tres documentos así como información adicional que nos proporciona google. Ahora con esto podremos crear una aplicación que obntenga los documentos contenidos en Drive de cualquier cuenta de correo.

DelphiConsumeGoogleDrive

 

3 Comments

Deja un comentario