Conectando servicios de Google con Pentaho

Las posibilidades de automatización que se obtienen conectando servicios de Google con Pentaho son muchos. Ayer un cliente me indicó que le encantaría que, a través de Internet, los clientes potenciales de su negocio puedan registrarse en algún formulario y que «mágicamente» la información pueda consultarla a través de su combinación de CRM y ERP.

Le dije que eso no iba a suceder mágicamente, pero ciertamente yo podría ayudarlo con el truco que haría parecer que sí.

A continuación, cómo lo hice.

Configurando el acceso al API de Google Sheets

Paso 1. Crear un proyecto en Google Cloud

Esto lo podemos realizar directamente la consola de Google APIs. Accede al vinculo https://console.developers.google.com y presiona «CREATE»

google api console
Google API Console Dashboard

Colócale un nombre al proyecto, en este caso he colocado «GoogleSheetTest» y presionas «CREATE»

google api console
Creating new project on Google API Console

Paso 2. Habilitar el API de Google Sheets.

Si no tienes ningún API habilitado, la consola te va a sugerir que vayas a la página de APIs. Puedes hacer clic en ese vínculo o sobre el menú como muestra la siguiente imágen.

google api console
Adding libraries to Google API Console

En el buscador de APIs, cola «Sheets» en el campo de búsqueda.

google api console
Google API libraries home screen

Cuando la ubiques, accede al API de Google Sheets

google sheet api
Searching Google Sheets API

Y presiona el botón «Enable»

google sheet api
Google Sheets API

Paso 3. Crear las credenciales de acceso a la API de Google Sheets

Para que Pentaho Data Integrator, o cualquier otra aplicación, pueda comunicarse con el API de Google Sheets, se deben crear credenciales de acceso. El plugin que vamos a utilizar de Pentaho Data Integrator va a requerir que generemos el archivo P12.

En el menú «Credentials», presionamos «Create credentials» y seleccionamos la opción «Service account key»

google service account
Creating Google Service Account Credential

En la siguiente ventana, haremos lo siguiente por cada campo.

Service account: Seleccionamos «New service account»

Service account name: Puede ser cualquiera, coloqué el mismo nombre del proyecto

Role: Seleccionamos Project -> Owner

Service Account ID: Dejamos que se genere solo.

Key type: seleccioamos P12

google account key p12
Generating Google Service Account Key P12 file

Presionamos «Create» y se va a generar un archivo que debemos resguardar pues es el que nos permitirá autenticarnos con el API de Google Sheets.

El siguiente paso es obtener la cuenta de correo a la cual estará asociado el archivo P12. Con esta cuenta es que podremos acceder a los datos de Google Sheets desde Pentaho Data Integration. Luego de cerrar el cuadro emergente anterior en «CLOSE», volveremos a la pantalla de credenciales. En esa pantalla vamos a seleccionar «Manage service accounts».

Y copiaremos en algún lugar seguro el correo seleccionado en la siguiente imagen.

Creando el formulario y la hoja de cálculo vinculada al formulario

Paso 1. Crear el formulario desde Google Drive.

Seleccionamos New -> More -> Google Forms

Le damos cualquier nombre al formulario y generamos unas tres preguntas

Paso 2. Vincular hoja de cálculo para las respuestas.

Al vincular una hoja de cálculo, cada vez que el formulario sea contestado, se generará un registro nuevo de manera automática en la hoja de cálculo vinculada.

Para vincular la hoja de calculo seleccionamos «Responses» y luego presionamos el botón «Create Spreadsheet»

Google Form Example

Seleccionamos «Create a new spreadsheet» y luego presionamos «CREATE»

Se va a generar automáticamente un hoja de cálculo con tantas columnas como opciones tenga el formulario.

Para que el formulario creado pueda ser accedido a través de la API de Google Sheets, es necesario compartirlo con el correo electrónico autogenerado que copiamos unos pasos atrás.

Ahora por favor, llena el formulario con algunas respuestas y tras refrescar la hoja de cálculo, observa como se registran las respuestas realizadas.

Leyendo información desde Google Sheets con Pentaho Data Integration

La versión de Pentaho Data Integration que usaré para este tutorial es la 7.1. No obstante, el complemento funciona al menos desde la versión 5.4 en adelante.

Pentaho Data Integration 7.1 Splash Screen

Paso 1. Instalar el plugin «Google Spreadsheet Input/Output» desde el Marketplace.

Para que se listen los plugins disponibles, presiona el botón de refrescar ubicado en la esquina superior derecha.

En el campo de búsqueda puedes filtrar empleando parte del nombre del plugin. Presiona «Install» para instalar el plugin.

Pentaho Data Integration Marketplace

Paso 2. Crear una transformación para leer los datos de la hoja de cálculo vinculada al formulario.

En un lienzo nuevo, arrastra el paso «Google Spreadsheet Input» y haz doble clic sobre el mismo para editar las preferencias.

En el campo «Email address», introduce el correo electrónico autogenerado algunos pasos atrás.

En el campo «Private Key (p12 file)», selecciona «Browse» y ubica el fichero P12 descargado algunos pasos atrás.

Si todo está bien, tras presionar el botón «Test Connection» observarás el mensaje «Success!»

Google Spreadsheet Input Step on Pentaho Data Integration

En la pestaña «Spreadsheet», presiona cada botón «Browse» para seleccionar la pestaña dentro de la hoja de cálculo vinculada al formulario desde donde se obtendrá la información.

En el campo «Fields», selecciona «Get Fields» para obtener las columnas disponibles en la hoja de cálculo; y presiona «OK» para confirmar los cambios.

Paso 3. Visualizar los datos de la hoja de cálculo desde Pentaho Data Integration

Sobre el paso recién creado, presiona clic derecho, y elige «Preview…»

Y voilá! Se muestran los datos que se van registrando en la hoja de calculo vinculada al formulario. De acá en adelante, puedes hacer lo que Pentaho Data Integration te permita, lo cual es mucho!

Imagina todas las automatizaciones que se pueden hacer! Ya sabes, si necesitas ayuda, estoy a un correo de contacto.

Agradecimientos

Quiero agradecer al siguiente post escrito en Thai por enseñarme hace un tiempo a hacer uso de este plugin.

2 respuestas a «Conectando servicios de Google con Pentaho»

  1. Hola no me aparece el Market Place de pentahoo y cuando volví a descargar nuevamente e instale pentaho me apareció una vez busque el plugin y no apareció

    1. Hola! El plugin es sensible a la versión de Pentaho que estás usando. Podrías indicar si es Pentaho Community o Pentaho BA? También la versión.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *