fbpx

Si eres desarrollador o tienes algo que ver con lenguajes de programación, sabrás que JSON es un estándar muy útil para procesar datos para usar en tus programas. ¿Sabías que puedes usar Google Sheets como una base de datos en línea para programas sencillos?

Exportar datos de Google Sheets a JSON es fácil, pero puede ser un poco truculento dar con la información que necesitas. No temas, pues aquí te explico cómo aprovechar esta función.

Lo primero que hay que hacer es ir a Archivo – Publicar en la web…:

NOTA: Esto hace efectivamente públicos los datos del documento en la web. No se pueden editar, pero si alguien examina la dirección donde los usas, sí podrían verlos. Si quieres que se mantenga privado, deberías usar la API de Google Sheets para autenticarte primero. Ten cuidado con esto si tu información es sensible, ¡has sido advertido!

Aquí deberás decidir si publicas todo el documento o solamente una hoja. Por ahora vamos a publicar todo el documento porque nos servirá para ejemplificar otras cosas después. Damos click en Publicar:

Ahora esta es la parte interesante. La URL del feed de JSON se construye de la siguiente manera:

https://spreadsheets.google.com/feeds/TIPO_DE_FEED/SPREADSHEET_ID/WORKSHEET_ID/public/values?alt=json

Vamos a explicar estos conceptos de uno en uno.

 

 


https://spreadsheets.google.com/feeds/ –  esto solamente es el inicio de la dirección

+

TIPO_DE_FEED: existen dos tipos: list o cells.

  • list: te regresa un JSON como resumen
  • cells: te da referencias a cada celda y una URL separada por cada una

+

SPREADSHEET_ID: es el identificador único del documento

+

WORKSHEET_ID: es el identificador de la hoja dentro del documento, hay varias formas de

  • Para acceder por orden, empieza desde el 1, pero si cambias el orden de las hojas en el documento, por ejemplo, 2 siempre hará referencia a la segunda de izquierda a derecha.
  • Cada hoja tiene su identificador único que también puedes usar, para saberlo el usar esta URL, que regresa un feed XML listando las hojas de trabajo del documento: https://spreadsheets.google.com/feeds/worksheets/SPREADSHEET_ID/public/full lo vas a poder deducir examinando el final del contenido del nodo. Ej: <entry><id>https://spreadsheets.google.com/feeds/worksheets/1iO18Tm5_rADUa32m22dlsgRCIlu7X9Vf95F_SdKVJVw/public/full/o59u3ta. Ahí, o59u3ta es el identificador único de esa hoja de trabajo.

+

/public/values?alt=json esto le indica el formato del feed que queremos, en este caso JSON.


 

 

Ejemplo práctico

Entonces, vamos a poner un ejemplo, de la dirección de este documento:

https://docs.google.com/spreadsheets/d/1iO18Tm5_rADUag9m22dlsgRIlu7X9VfmOF_SdKVJVw/edit#gid=368926448

Podemos deducir esto, si queremos la 2da hoja:

  • SPREADSHEET_ID1iO18Tm5_rADUag9m22dlsgRIlu7X9VfmOF_SdKVJVw
  • WORKSHEET_ID: 2

Y nos queda esta dirección para ver el feed en JSON:

https://spreadsheets.google.com/feeds/list/1iO18Tm5_rADUag9m22dlsgRIlu7X9VfmOF_SdKVJVw/2/public/values?alt=json

Y ese JSON se ve así:

 

Y esos datos los puedes usar en tu app, SDK o código fácilmente. Así, puedes mantener una base de datos que sea fácil de editar para cierto tipo de casos y con relativamente bajo costo. Si necesitas algo más robusto, como hacer consultas estilo SQL, deberías ya pensar en usar una base de datos tradicional.

Un caso de uso práctico podría ser hacer una encuesta en Google Forms conectada con Google Sheets para recibir los resultados y usar los datos para servir a otro programa.

Puedes encontrar más información sobre este tema en la documentación oficial de Google Data APIs.

¡Espero que te haya sido útil esta guía! No olvides seguirnos en Twitter y Facebook para más tips, trucos y guías de productividad.

Si tienes dudas, deja un comentario y con gusto te ayudaremos a resolverlas.

¿Quieres tener las herramientas de oficina de Google (G Suite) en tu empresa? ¡Contáctanos!