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 : 16508  
 
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

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…

Cómo rastrear las URLs de las campañas en Google Analytics con códigos UTM

La mayoría de los profesionales de la comercialización ya saben cómo identificar fuentes de referencia concretas en Google Analytics, pero el etiquetado de URL utilizando códigos UTM lleva estos datos…

Google dejará de indexar las páginas web hechas para escritorio

Un nuevo tsunami se acerca para las empresas que todavía no tienen adaptada su web al 100% para moviles. John Mueller de Google proporcionó nueva información sobre el nuevo índice de…

Google Dorks: Cómo encontrar datos interesantes y buscar como un hacker

¿Las palabras Google y Hacking juntas? Bueno, si pensaste que aprenderíamos a usar el hacking de Google, podrías estar equivocado. Pero podemos usar el buscador de Google para encontrar datos interesantes…

Cómo importar HTML en Google Docs

Google Docs es un procesador de textos muy flexible en muchos sentidos, pero lo que mucha gente no se da cuenta es que se puede incrustar HTML en un Google…

May 2020 Core update: Google lanza una nueva actualización central de su algoritmo

Danny Sullivan de Google ha confirmado que el 4 de mato se ha llevado a cabo una actualización del algoritmo central. La actualización se llama oficialmente "May 2020 Core Update." Google se…

Node.js: herramientas de código abierto para los desarrolladores

De la amplia gama de herramientas disponibles para simplificar el desarrollo de Node.js, aquí están las mejores. Una encuesta en StackOverflow afirma que el 49% de los desarrolladores usan Node.js para…

20 funciones ocultas de Chrome que te harán la vida más fácil

El navegador Chrome de Google tiene un montón de pequeños trucos ocultos que quizá no conozcas. Aquí tienes 20 consejos que te ayudarán a ser un mejor usuario de Chrome. Los navegadores…

Los Nuevos atributos de los enlaces rel=sponsored y rel=ugc de Google

En un interesante articulo aparecido ayer mismo en las páginas del blog oficial de Google, los autores Danny Sullivan y Gary Illyes hacen balance de la situación en cuanto al…

Como construir una API RESTful - Guía paso a paso

En este artículo, voy a hablar sobre cómo diseñar mejor sus APIs RESTful para evitar errores comunes Como desarrolladores de software, la mayoría de nosotros usamos o construimos APIs de REST…

E-A-T y SEO: Cómo crear el contenido que Google quiere

En los últimos meses, probablemente habrás visto la palabra de moda o acrónimo, más bien, "E-A-T" (“Expertise, Authoritativeness y Trustworthiness”) dando vueltas por ahí. Aunque este término ha estado en…

Cómo obtener el token de acceso a Instagram usando PHP

Cómo obtener el token de acceso a Instagram usando PHP? Para obtener el token de acceso Instagram, primero debes autenticar tu aplicación y luego obtener el token de acceso. Sigue los siguientes…