Skip to content

Instantly share code, notes, and snippets.

@LaraMateo
Last active June 15, 2023 09:26
Show Gist options
  • Save LaraMateo/ae5f80f4fcff9f605d6bce73bd9db88d to your computer and use it in GitHub Desktop.
Save LaraMateo/ae5f80f4fcff9f605d6bce73bd9db88d to your computer and use it in GitHub Desktop.

Creación de Aplicaciones web con Google Apps Script

Como es bien sabido, google nos brinda grandes herramientas tecnológicas que son parte de nuestro día a día; Gmail, Hojas de Cálculo, Chrome, Drive entre otras. Sin embargo, hay servicios de Google bastante poderosos que poca gente conoce, cómo es el caso de Google Apps Script (GAS).

¿Qué es Google Apps Script?

Google Apps Script es una plataforma de codificación que nos permite crear scripts para agregar funcionalidades a las aplicaciones de Google. Está basado en Javascript 1.6/1.7 con ciertas características de ECMAScript 5 y a diferencia de Javascript que se ejecuta en el cliente, este se ejecuta en google cloud. Este servicio está direccionado a automatizar tareas en Google Apps, como Hojas de cálculo, Documentos, Formularios y Correo; también permite la creación de aplicaciones web personalizadas dentro de Google Workspace. Estas aplicaciones pueden incluir formularios de datos, paneles de control, y aplicaciones de gestión de proyectos.

Despliegue de script en GAS como aplicación web

Comenzaremos por crear una hoja de cálculo de Google, y desde allí usaremos GAS para desplegar la aplicación web.

Picture1

La forma en como Google ejecuta la aplicación web es llamando a la función doGet, aquí es donde trabajaremos y en primera instancia retornaremos la creación del archivo HTML.

Picture2

Debemos crear el archivo HTML con el nombre que establecimos en el script y este se crea automáticamente con una estructura básica.

Picture3

Para publicar la aplicación basta con irnos a la opción de implementar > nueva implementación, después de esto, en seleccionar tipo establecemos aplicación web y configuramos quien tiene acceso y que usuario ejecutará la aplicación.

Picture4 Picture5

Con estos simples pasos GAS desplegará la aplicación, nos dará el id de despliegue y lo más importante, la url para ingresar a nuestra aplicación.

Picture6

Creación de formulario para enviar datos a hoja de cálculo

Ahora ya podemos iniciar dando el modelado a nuestra aplicación web, podemos usar varios archivos html, se pueden usar bibliotecas externas y muchas más funciones útiles. En este caso, crearemos un formulario de datos personales para posteriormente almacenarlos en la hoja de cálculo. Esto se realiza directamente desde el index.html, como lo haríamos normalmente.

Picture7

Agregar Estilos

Crearemos un archivo html para agrupar los estilos en este, se podría hacer todo en el mismo archivo, pero para lograr un mayor orden y mejor lectura separaremos el css del html. En caso de que necesitemos usar scripts de javascript, haremos el mismo procedimiento pero agregaremos la etiqueta finalizando el body.

Picture8

Ya tenemos nuestros estilos, ahora debemos agregarlo al código con la función include, pasando como parámetro el nombre del archivo.

Picture9

Y a continuación agregamos a la etiqueta head la función recién creada.

Picture10

Mientras estamos trabajando y haciendo modificaciones a nuestro código, podemos desplegar una app de prueba temporal bastante útil para no tener que implementar directamente en nuestra aplicación web. Esto lo conseguimos en Implementar > Implementaciones de prueba.

Picture11

Picture12

Integración de App Web con hoja de cálculo

Usaremos la hoja de cálculo para recoger los datos ingresados en el formulario, para ello crearemos un archivo js.html para separar los scripts y lo incluiremos antes de cerrar la etiqueta body del archivo index.html

Picture13

En el archivo index.html agregaremos el evento de click al botón del formulario y le asignaremos una función en la cual se usará “google.script.run”, esta es la manera para comunicarnos con el archivo de Apps Script Código.gs

Picture15

Picture14

De esta manera agrupamos los valores de cada input del formulario y los enviamos a la función savePersonalInfo(info) del archivo de Apps Script Código.gs.

Comunicación con Hojas de cálculo

SpreadsheetApp es el servicio de hojas de cálculo de google, con este accederemos a la hoja de cálculo previamente creada con la función openById(). El id lo encontramos en la url de la hoja de cálculo

Picture16

Ahora ubicamos la hoja en donde guardaremos los datos con la función getSheetByName() y agregamos el nuevo registro como una nueva fila(función appendRow())

Picture17

Con esto ya tendríamos la forma en como guardar datos en una hoja de cálculo desde el formulario creado en la aplicación web. Ahora debemos ejecutar el código para habilitar los permisos necesarios para poder usar SpreadsheetApp.

Picture18

Por último ejecutaremos una implementación de prueba para probar que todo esté funcionando correctamente.

Picture19

Picture20

Conclusión

Google Apps Script es una herramienta de programación de automatización de tareas de Google que permite crear scripts y aplicaciones web conectadas a servicios de Google como Google Drive, Gmail y Google Sheets. En el artículo se planteó cómo utilizar esta herramienta para la creación de una aplicación web, que incluía una interfaz de usuario con un formulario y una hoja de cálculo de Google como base de datos. Se detalló el proceso paso a paso para configurar y publicar la aplicación. Es importante tener en cuenta que las aplicaciones web creadas con GAS se ejecutan en los servidores de Google y pueden tener limitaciones en cuanto a rendimiento y escalabilidad, además de limitaciones en el acceso a las aplicaciones dependiendo de la configuración del proyecto y de las políticas de Google. En general, se puede concluir que Google Apps Script es una opción poderosa para crear aplicaciones web personalizadas. Con un conocimiento básico de JavaScript y la utilización de herramientas de google, se pueden crear aplicaciones web útiles y eficientes.

Articulo Elaborado Por

Desarrollador de software en

Linkedin logo

BlogIAS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment