Guía para principiantes sobre las API con Google Sheets y Google Apps Script

by Luigi Nori Date: 15-08-2019 google api docs drive

El objetivo de este post es guiarte a través de la conexión deGoogle Sheets a tu primera API externa utilizando Google Apps Script, para recuperar datos de un tercero y mostrarlos en tu hoja de Google.

Vamos a empezar con utilizar Google Apps Script para conectarnos a una API de prueba súper sencilla para recuperar algunos datos:

Lo básico: ¿qué es una API?

Probablemente ya ha escuchado el término API antes. Tal vez haya escuchado cómo las empresas de tecnología las utilizan cuando canalizan datos entre sus aplicaciones. O cómo las empresas construyen sistemas complejos a partir de muchos microservicios más pequeños vinculados por APIs, en lugar de programas únicos y monolíticos en la actualidad.

API significa "Application Program Interface" (Interfaz de programa de aplicación), y el término se refiere comúnmente a URLs web que pueden utilizarse para acceder a datos sin procesar. Básicamente, la API es una interfaz que proporciona datos sin procesar para que el público los utilice (aunque muchos requieren algún tipo de autenticación).

Como desarrolladores de software de terceros, podemos acceder a la API de una organización y utilizar sus datos dentro de nuestras propias aplicaciones.

La buena noticia es que hay un montón de APIs simples por ahí, con las que podemos empezar a trabajar.

Podemos conectar una hoja de cálculo de Google a una API y devolver los datos de esa API a nuestra hoja de cálculo de Google utilizando Google Apps Script. Es divertido y realmente satisfactorio si eres nuevo en este mundo.

Conexión de Google Sheets a una API externa mediante Google Apps Script

En los siguientes ejemplos vamos a utilizar Google Apps Script para conectarnos a APIs externas.

Google Apps Script es un lenguaje de scripting basado en Javascript alojado y ejecutado en los servidores de Google, que amplía la funcionalidad de Google Apps.

Vamos a empezar con algo súper simple, para que podamos concentrarnos en los datos y no perdernos en líneas y líneas de código.

Vamos a escribir un programa corto que llama a una API de prueba de https://jsonplaceholder.typicode.com/ , esta web nos permite sacar datos aleatorios para hacer testeo con nuestras integraciónes, en este caso devuelve un json.

Paso 1: Abrir una nueva hoja de Google en blanco y cambiarle el nombre, por ejemplo: Prueba conexión API

Paso 2: Abrir "Herramientas > Editor de secuencias de comandos"

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Paso 3: Se abre una nueva pestaña y aquí es donde escribiremos nuestro código. Nombra el proyecto: Ejemplo de API, la hoja debe tener nombre Hoja 1

Paso 4: Elimina todo el código que se encuentra actualmente en el archivo Código.gs y reemplázalo por este:

function getAPI() {
//Parámetros para llamar a la API
var endpoint = 'https://jsonplaceholder.typicode.com/todos';
// parametros para sacar los datos de la URL
var params = {
'method': 'GET'
};
try {
// llamada a la API
var response = UrlFetchApp.fetch(endpoint, params);
var data = response.getContentText();
var json = JSON.parse(data); 
// sacamos los datos del json
var results = json;
Logger.log(results);
}
catch (error) {
// mira si hay errores
Logger.log(error);
};
}

Estamos usando la clase UrlFetchApp para comunicarnos con otras aplicaciones en Internet para acceder a recursos, para obtener una URL.

Paso 5: Ejecuta la función haciendo clic en el botón de reproducción de la barra de herramientas:

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Paso 6: El programa pedirá que autorices tu script para conectarse a un servicio externo. Haz clic en "Revisar permisos" y, a continuación,"configuración avanzada" y "Ir a ejemplo de Api" y Permitir" para continuar.

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Paso 7: Felicitaciones, su programa ya se ha ejecutado. Se envía una solicitud a un tercero para obtener algunos datos (en este caso un dato matemático aleatorio) y ese servicio ha respondido con esos datos.

Pero espera, ¿dónde está? ¿Cómo vemos esos datos?

Bueno, notarás que la al final del try de nuestro código anterior hemos puesto un Logger.log(....) , lo que significa que hemos grabado el texto de la respuesta en nuestros archivos de registro.

Así que vamos a comprobarlo.

Vete a "Ver > Registros":

Verás tu respuesta (por supuesto que puedes tener un contenido diferente) que se ve así en la ventana emergente:

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Entonces, ¿qué pasa si queremos imprimir el resultado en nuestra hoja de cálculo?

Bueno, eso es bastante fácil.

Paso 8: Agrega estas pocas líneas de código debajo de tu código existente:

function getAPI() {
//Parámetros para llamar a la API
var endpoint = 'https://jsonplaceholder.typicode.com/todos';
// parametros para sacar los datos de la URL
var params = {
'method': 'GET'
};
try {
// llamada a la API
var response = UrlFetchApp.fetch(endpoint, params);
var data = response.getContentText();
var json = JSON.parse(data); 
// sacamos los datos del json
var results = json;
//Logger.log(results);
// creamos un array donde poner los datos
var resultData = [];  
// Añadimos los resultados al Array
for (var x = 0; x < results.length; x++) { 
resultData.push([
x,
results[x]["id"],
results[x]["title"],
results[x]["completed"]
]);
}
// selecciona la hoja de salida
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Users');
// calcula el número de filas y columnas necesario
var numRows = resultData.length;
var numCols = resultData[0].length;    
Logger.log('' + numRows + '-' + numCols);
// imprime los datos en la Hoja
sheet.getRange(1,1,numRows,numCols).setValues(resultData);
}
catch (error) {
// deal with any errors
Logger.log(error);
};
}

simplemente asigna los datos de respuesta (nuestros datos) a un array, para que podamos crear un bucle, una vez creado este bucle iremos a imprimir las filas y las columnas de forma automática usando el setValues

Paso 9: Ejecuta tu programa de nuevo.

Paso 10: Ahora obtendrás la hoja de calculo rellenada de los datos de prueba

En resumen: hemos solicitado datos de un servicio de terceros en Internet. Ese servicio ha respondido con los datos que queríamos y ahora los hemos incluido en nuestra hoja de Google!

Paso 11: El script tal como está escrito siempre sobrescribirá todo desde la celda A1 con sus nuevos datos cada vez que ejecute el programa.

Una última cosa que podríamos querer hacer con esta aplicación es añadir un menú a nuestra hoja de Google, para que podamos ejecutar el script desde allí en lugar de la ventana del editor de scripts. Es bonito y fácil!

Paso 12: Añade el siguiente código en tu editor de scripts:

function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Ejemplos API')
.addItem('Descarga API ejemplo','getAPI')
.addToUi();
}

Paso 13: Ejecute la función onOpen, que añadirá el menú a la hoja de cálculo. Sólo tenemos que hacer este paso una vez.

Guía para principiantes sobre las API con Google Sheets y Google Apps Script

Espero que te haya gustado esta guía.

 
by Luigi Nori Date: 15-08-2019 google api docs drive visitas : 50391  
 
Luigi Nori

Luigi Nori

He has been working on the Internet since 1994 (practically a mummy), specializing in Web technologies makes his customers happy by juggling large scale and high availability applications, php and js frameworks, web design, data exchange, security, e-commerce, database and server administration, ethical hacking. He happily lives with @salvietta150x40, in his (little) free time he tries to tame a little wild dwarf with a passion for stars.

 
 
 

Artículos relacionados

Google Wallet: tu cartera digital rápida y segura

Google Wallet es un cómodo sistema de pago ofrecido por la compañía para usuarios de Android, que anteriormente se conocía como Android Pay.   ¿Qué es Google Wallet, cómo funciona y qué…

Seguimiento en tiempo real de los vuelos: la API de Flight Tracker

La API de Flight Tracker brinda a los desarrolladores la capacidad de acceder al estado de los vuelos en tiempo real, lo cual resulta extremadamente útil para integrar un seguimiento…

Google Dorking: descubriendo el potencial oculto de los motores de búsqueda

En la era digital actual, los motores de búsqueda se han convertido en una herramienta esencial para encontrar información en línea. La mayoría de las personas están familiarizadas con el uso…

¿Qué es Kubernetes?

Kubernetes es una plataforma open source desarrollada y diseñada por Google que agrupa un conjunto de dispositivos (host) que ejecutan contenedores Linux en clústers. Con Kubernetes obtienes una plataforma para programar…

Un tribunal alemán dictamina que los sitios web que incrustan fuentes de Google violan el GDPR

Un tribunal regional de la ciudad alemana de Múnich ha condenado a un operador de sitios web a pagar 100 euros en concepto de daños y perjuicios por transferir los…

Adiós a G Suite gratis, se paga por Google Workspace

Las empresas que todavía utilizan la versión gratuita de G Suite han recibido malas noticias. A partir del 1 de julio, sólo estarán disponibles las suscripciones a Google Workspace. Esto…

Austria dice que el uso de Google Analytics es ilegal, vamos hacia un ban de Analytics en Europa?

El duro Reglamento General de Protección de Datos (RGPD) de Europa se ha visto principalmente como un problema para las grandes empresas tecnológicas, durante los casi cuatro años en que…

Cómo cambiar o configurar los DNS en Windows 10

Que son las DNS? Cuando tienes acceso a Internet para el hogar o la empresa, el proveedor de servicios de Internet (ISP) también proporciona la configuración de red necesaria, incluidas las…

Google Dorks Como Encontrar Datos Interesantes y Buscar Como Un Hacker

¿Van juntas las palabras Google y Hacking? Bueno, si usted pensó que vamos a aprender cómo utilizar el hack en Google, usted podría estar equivocado. Pero podemos Usar el motor de…

Interesantes y Útiles Funcionalidades de Búsqueda de Google que Querrás Empezar a Utilizar

Google - EL motor de búsqueda para muchos usuarios de Internet. Lleva con nosotros desde su lanzamiento en 1998 y, gracias a su sencillez de uso y a sus geniales…

Cómo usar Google Duo para hacer videollamadas en la web

Hay un montón de aplicaciones de videollamadas para elegir, pero Google Duo podría ser la más simple. Funciona con los dispositivos iPhone, iPad y Android, e incluso en la web…

El Departamento de Justicia de EE.UU. presenta una demanda antimonopolio contra Google

El martes, en una reunión informativa celebrada por el Fiscal General Adjunto Jeffrey Rosen, el Departamento de Justicia dijo que la empresa está manteniendo ilegalmente un monopolio sobre los servicios…