googledata baseAPI
-agosto 4, 2022
Cómo utilizar la hoja de cálculo de Google como base de datos
Cuando queremos tener datos dinámicos, pero no podemos generar una base de datos compleja y robusta, utilizamos Opensheet. Pero, ¿por qué empleamos esta API?
Opensheet es un repositorio de código abierto, alojado en la API para obtener Google Sheets como JSON, que facilita el proceso de conectar una hoja de cálculo de Google y utilizarla como fuente de datos de tu aplicación.
Devolver la Hoja de Cálculo de Google como un archivo JSON, convirtiendo cada columna y fila en objetos y valores, permite tener un archivo JSON dinámico que puede ser utilizado por métodos comunes de JavaScript.
Basado en la documentación en GitHub - benborgers/opensheet: 💾 Una API para obtener una hoja de Google como JSON. Para utilizarla, la primera fila de tu Google Sheet debe ser una fila de cabecera (aquí tienes un ejemplo). La compartición de enlaces debe estar activada, para que cualquier persona con el enlace pueda ver la Hoja de Google.
El formato de esta API es: https://opensheet.elk.sh/spreadsheet_id/sheet_name
Por ejemplo: https://opensheet.elk.sh/1o5t26He2DzTweYeleXOGiDjlU4Jkx896f95VUHVgS8U/Test+Sheet
Solución:
Generamos un archivo de hoja de cálculo de Google en el que nuestra primera fila son las cabeceras que indicarán los campos del JSON, seguidos cada uno de ellos por sus respectivos datos.
El archivo JSON se vería así:
Aquí hay un ejemplo de CodePen de cómo implementamos esta funcionalidad de la API: https://codepen.io/alarez/pen/yLpzZqd
Usando esto en nuestro JavaScript, generamos una función "getFromAPI" con los parámetros URL, callback. Se incluye con una variable llamada obj que será nuestro objeto al que fecharemos los datos procedentes del JSON.
getFromAPI('https://opensheet.elk.sh/DOCUMENTI-ID/Sheet-1');
Recuerde utilizar el formato de URL que aparece en la documentación: /id/sheet-name
function getFromAPI(url, callback){
var obj;
fetch(url)
.then(res => res.json())
.then(data => obj = data)
.then(() => callback(obj))
};
De esta manera, obtenemos el JSON que podemos emplear como nuestra base de datos.