Base de datos Development Technology

Cómo usar Google Sheets como base de datos en tu aplicación web

Google Sheets es el producto de Google que mantiene la capacidad de las hojas de cálculo a través de la nube. Tiene muchas más características o funcionalidades en comparación con una hoja de cálculo estándar.

Por defecto, las aplicaciones de hojas de cálculo no se crearon para funcionar como bases de datos, aunque las pequeñas empresas y las aplicaciones sencillas ya las utilizan de esta manera. Esto se debe a que requieren soluciones sencillas, y un sistema gestor de bases de datos aumenta la complejidad del proyecto. Cuando el volumen de datos es pequeño, el presupuesto de una empresa es limitado, y la complejidad debe mantenerse al mínimo, las hojas de cálculo pueden ser la solución más adecuada. Un sistema gestor de bases de datos requiere mucho tiempo y recursos para su instalación, configuración y mantenimiento.

Si aún estás indeciso y estás considerando usar Google Sheets como tu base de datos, sigue leyendo. Te mostraremos por qué y cómo utilizar Google Sheets como base de datos en tu aplicación web. 

Por qué utilizar Google Sheets como base de datos

Cuando comparamos Google Sheets con un Sistema Gestor de Bases de Datos (SGBD), podemos ver muchas ventajas y desventajas. No existe una solución única cuando se trata de bases de datos, así que tendrás que elegir la mejor opción para tus necesidades.

Ventajas como base de datos

Google Sheets, entre otras aplicaciones de hojas de cálculo, tiene una serie de grandes ventajas como base de datos:

Conectividad: Google Sheets es una aplicación web, lo que significa que está disponible en línea. Por lo que la base de datos se almacena de forma segura en la nube de Google.

Control de acceso: Si utilizas Google Sheets, tienes acceso al sistema de control de acceso de Google. Esto significa que con sólo unos pocos clics puedes proporcionar permisos de visualización y edición a tus datos, o revocar los permisos existentes.

Precios: Google Sheets es uno de los muchos productos de Google que es gratuito para un uso ilimitado.

Curva de aprendizaje: La curva de aprendizaje es baja. Puede entender rápidamente cómo funciona el software y aprovechar al máximo sus capacidades.

Visualización: Google Sheets cuenta con un gran número de funciones integradas que te permiten manipular rápidamente el aspecto y la estructura de los datos, para luego visualizarlos y analizarlos con rapidez.

Desventajas como base de datos

Por otro lado, comparar Google Sheets con un SGBD también tiene sus desventajas:

Escalabilidad: Cuando se trata de escalabilidad, Google Sheets no es la mejor opción. Hay limitaciones de datos (5 millones de registros) en la plataforma, y a medida que su conjunto de datos crece, el tiempo de respuesta se vuelve más lento.

Opciones de consulta: Aunque Google Sheets ofrece mecanismos de consulta, son limitados en comparación con un SGBD. Un SGBD proporciona mecanismos de consulta avanzados que pueden manejar una gran cantidad de datos con facilidad.

Compartibilidad: Los SGBD están construidos de forma que permiten a varios usuarios acceder a los datos y modificarlos simultáneamente. Desafortunadamente, ese no es el caso de Google Sheets, donde puede haber inconsistencias cuando dos usuarios están cambiando el mismo conjunto de datos en paralelo.

Cómo configurar Google Sheets como base de datos mediante Google Sheets API

Google Sheets dispone de una API para interactuar con su interfaz. Para utilizar la API y poder leer y escribir datos en tu base de datos, tienes que autenticar tu aplicación con Google y, a continuación, utilizar la API para realizar las operaciones necesarias. A continuación, repasaremos el proceso de creación de hoja de cálculo y autenticación y mostraremos un ejemplo rápido de cómo leer datos de Google Sheets.

Requisitos

  1. Una hoja de cálculo y su ID
  2. Un proyecto en Google Cloud Platform con la API de Google Sheets habilitada
  3. Credenciales de autenticación, en este caso una clave de API

Paso 1: Obtener ID de la hoja de cálculo

Dirígete a sheets.google.com, inicia sesión con tu cuenta de Google y crea una hoja de cálculo.

El ID de la hoja de cálculo estará en la URL, como se muestra a continuación:

Nuestro ID en este caso es: 17HPZ_4IyG42A77bdHz4RsDWxOucRf9sG46Q2emgYESM. Utilice su propio ID de hoja de cálculo. ¡Este es solo para fines explicativos!

Por último, debe compartir la hoja de cálculo para que pueda ser accedida por la API de Google Sheets, esto se logra haciendo clic en el botón Compartir

y permitir que cualquier persona con el enlace pueda acceder a la hoja.

Asegúrese de que se tenga acceso de solo lectura a la hoja y confirme los cambios.

Paso 2: Crear proyecto en Google Cloud Platform

Dirigirse a la Consola de Google Cloud, inicie sesión con su cuenta de Google, al lado de «Google Cloud Platform», haz clic en la flecha hacia abajo. Aparece una ventana que enumera los proyectos existentes, haga clic en proyecto nuevo y complete los datos solicitados.

Al lado de «Google Cloud Platform», haz clic en la flecha hacia abajo y seleccione su proyecto, en la esquina superior izquierda, haz clic en Menú > API y servicios

Luego, haga clic en Habilitar API y servicios y en el campo de búsqueda, ingrese el nombre de la API que desea habilitar, en este caso «Google Sheets API». Seleccione el resultado de la búsqueda y por último haga clic en Habilitar

Paso 3: Crear credenciales de autenticación

Al lado de «Google Cloud Platform», haz clic en la flecha hacia abajo y seleccione su proyecto, en la esquina superior izquierda, haz clic en Menú > API y servicios > Credenciales.

Haga clic en Crear credenciales y seleccione Clave de API, esto mostrará una ventana con la clave generada, por otro lado, puede restringir la clave para evitar usos no autorizados.

Para restringir la clave haga clic en editar clave de API y configure según sus necesidades.

Leyendo datos de Google Sheets

Es muy fácil leer datos de Google Sheets. Por ejemplo, cuando tu aplicación necesita mostrar algunos datos, primero necesita conectarse a la base de datos y consultar (leer) los datos. A continuación, se muestra un ejemplo sencillo de lectura desde Google Sheets:

Primeramente, se tiene la siguiente hoja de cálculo, en el cual se quiere acceder a los valores en un rango en específico usando la notación A1. La notación A1 es una cadena que indica a la API qué hoja y qué rango queremos consultar. En este caso: Sheet1!A2:C3, ya que solo queremos obtener el ID, Nombre y Apellido de cada registro en la hoja de cálculo.

Para esto, se utilizará la siguiente solicitud HTTP:

GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?key={apiKey}

En donde, spreadsheetId es el ID de la hoja de cálculo de la que se obtendrán los datos, range es el rango para obtener los valores (en este caso Sheet1!A2:C3) y apiKey la clave de API para acceder a Google Sheets.

Para finalizar, la aplicación que se mostrará a continuación, realiza una petición a la URL mencionada anteriormente mediante la API nativa de JavaScript para la realización de solicitudes HTTP llamada Fetch y, por último, la información obtenida será mostrada en una tabla. Cabe señalar que, para ejecutar este ejemplo, debe indicar su propio api key, sheet id y range.

<!DOCTYPE html>
<html lang=»es»>
<head>
    <meta charset=»UTF-8″>
    <meta http-equiv=»X-UA-Compatible» content=»IE=edge»>
    <meta name=»viewport» content=»width=device-width, initial-scale=1.0″>
    <title>Tabla de datos</title>
    <link href=»https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css» rel=»stylesheet»
        integrity=»sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x» crossorigin=»anonymous»>
    <style>
        thead {
            background-color: green;
            color: white;
        }
    </style>
</head>
<body>
   
    <div class=»row mt-5″>
        <div class=»col-6 offset-3″>
            <h5>Listado de información</h5>
            <br>
            <table class=»table table-bordered»>
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>Nombre</th>                         <th>Apellido</th>
                    </tr>
                </thead>
                <tbody id=’content’>
                  
                </tbody>
            </table>
        </div>
    </div>

    <script type=»text/javascript»>
    
      const API_KEY  =  ‘YOUR_API_KEY’
      const SHEET_ID =  ‘YOUR_SHEET_ID’
      const RANGE    =  ‘ Sheet1!A2:C3’

      function appendData(row) {
      
        return `<tr>
                  <td>${row[0]}</td>
                  <td>${row[1]}</td>                   <td>${row[2]}</td>
                </tr>`;
      }

      async function getData() {
        await fetch(`https://sheets.googleapis.com/v4/spreadsheets/${SHEET_ID}/values/${RANGE}?key=${API_KEY}`)
        .then(response => response.json())
        .then(({values}) => {

          content = document.getElementById(‘content’)

          if(values.length > 0) {

            let rows = »
           
            values.map(value => rows += appendData(value))
 
            content.innerHTML = rows
          }
        })
        .catch(error => console.log(error));
      }

    </script>

    <script async defer src=»https://apis.google.com/js/api.js»
      onload=»this.onload=function(){};getData()»
      onreadystatechange=»if (this.readyState === ‘complete’) this.onload()»>
    </script>

</body>
</html>
 

Conclusión 

Google Sheets no es la solución completa para la gestión de la base de datos de su empresa. Sin embargo, puede ser una herramienta perfecta para los inicios, las pruebas de concepto y las pequeñas empresas en las que el manejo de los datos aún no es demasiado exigente.

Google Sheets puede conectarse directamente con formularios de contacto de sitios web, Whatsapp, chatbots y otras plataformas para almacenar datos directamente.

Está disponible de forma gratuita con muchas funciones avanzadas.

Si necesitas ayuda a la hora de utilizar Google Sheets como base de datos en tu aplicación web, nuestro equipo en PulpoLine estará encatado de brindarte nuestros servicios, puede contarcarnos a hola@pulpoline.com o a nuestro WhatsApp +506 88101331, también puedes visitarnos en nuestras redes sociales

es_ESES