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»

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

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.

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

Cuando la ubiques, accede al API de Google Sheets

Y presiona el botón «Enable»

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»

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

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»

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.

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.

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!»

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.
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ó
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.