Primeros pasos con google-apps-script

Tipos de guiones

Los scripts de aplicaciones de Google son de tres tipos.

  • Ser único
  • Vinculado a las aplicaciones de Google
  • Aplicaciones web

Guión independiente

Las secuencias de comandos independientes no están vinculadas a ninguna aplicación de Google, es decir, Docs, Sheets o Forms, etc. Las secuencias de comandos independientes se pueden crear visitando script.google.com o conectando la secuencia de comandos de la aplicación de Google con Google Drive. El script independiente se puede usar para programar aplicaciones de Google de forma independiente, se puede usar como una aplicación web o se puede configurar para que se ejecute automáticamente desde un disparador instalable. Consulte la documentación para obtener un script independiente.

Vinculado a Google Apps

Script vinculado a Google Apps, también conocido como script vinculado al contenedor; a diferencia de las secuencias de comandos independientes, están vinculadas a las aplicaciones de Google, es decir, Google Docs o Google Sheets, etc. Las secuencias de comandos vinculadas al contenedor se pueden crear seleccionando herramientas> Editor de secuencias de comandos de Google App. Algunas características como cuadros de diálogo, avisos, menús y barra lateral solo se proporcionan mediante scripts vinculados al contenedor. Además, la secuencia de comandos vinculada al contenedor se utiliza para crear complementos de Google. Consulte la documentación para conocer los scripts vinculados al contenedor.

Aplicaciones web

Google App Script se puede utilizar como aplicación web, ya que se puede acceder a ellos mediante el navegador. La aplicación web puede proporcionar una interfaz de usuario en el navegador y puede hacer uso de las aplicaciones de Google, es decir, docs, hojas, etc. Tanto los scripts independientes como los vinculados a Google Apps se pueden convertir en aplicaciones web. Para que cualquier secuencia de comandos funcione como una aplicación web, la secuencia de comandos debe cumplir dos requisitos:

  • incluir una función doGet() o doPost().
  • La función devuelve un objeto HtmlOutput de servicio HTML o un objeto TextOutput de servicio de contenido.

En resumen, las funciones doGet() y doPost() funcionan como controladores de solicitud http get y post respectivamente.

Para obtener más detalles sobre las aplicaciones web, consulte la documentación oficial.

Instalación o configuración

Google Apps Script no requiere configuración ni instalación. El único requisito es una cuenta de Google. Una cuenta de Gmail funciona tan bien como una cuenta de Google Apps for Work/Education/Government. Puede crear una nueva cuenta de Google yendo a accounts.google.com

Inicie su primera secuencia de comandos yendo a script.google.com. También puede acceder a Google Apps Script en herramientas -> Editor de scripts... de muchas Google Apps, es decir, Docs, Sheets, Forms, etc. Google Apps Script también se puede agregar directamente a su Google Drive con la función Conectar más aplicaciones...

La documentación oficial se puede encontrar en developers.google.com/apps-script/.

Para que los scripts de aplicaciones se ejecuten, deben contener un archivo code.gs. El archivo code.gs debe contener una función denominada doGet (secuencias de comandos independientes) o una función onOpen (secuencias de comandos complementarias). Los inicios rápidos de la documentación contienen ejemplos.

Si se activa una API en el script de la aplicación, también debe activarse en la consola de desarrolladores. Sin embargo, la consola de desarrolladores contiene API que se pueden activar pero que no aparecen en la interfaz de la secuencia de comandos de la aplicación. Por ejemplo, Marketplace SDK debe estar activado en la consola de desarrolladores antes de que la aplicación se pueda publicar en Google Play Store o en una implementación de todo el dominio de G Suite.

Para las aplicaciones de Google para educación/trabajo/gobierno, hay configuraciones en la consola de administración del dominio que se pueden ajustar para permitir o prohibir la ejecución de secuencias de comandos de aplicaciones.

Ejecutando/Depurando tu script

Intente ejecutar su código desde la barra de herramientas como se muestra a continuación:

ingrese la descripción de la imagen aquí

En su código, si tiene más de una función, antes de ejecutarla debe mencionar la función con la que desea ejecutarla. Por ejemplo :

ingrese la descripción de la imagen aquí

Alternativamente, puede presionar ctrl + r desde su teclado para ejecutar el código. Primero guardará el código, si no se guardó, y luego lo ejecutará. Pero, para que eso funcione, debe haber seleccionado la función, como se ve en la imagen de arriba.

Además, si su secuencia de comandos es llamada por algunas actividades externas, aún podrá ver los registros haciendo clic en ver-> registros si está registrando algo después de ejecutar el código.

Hola Mundo

Vamos a decir Hola como un cuadro de mensaje.

function helloWorld() 
{
  Browser.msgBox("Hello World");
}

Para ejecutar el script, haga clic en ▶ o seleccione el elemento de menú Ejecutar -> helloWorld

Una mirada más profunda a Google Apps Script

Google Apps Script es una plataforma como servicio basada en JavaScript que se utiliza principalmente para automatizar y ampliar Google Apps. Apps Script se ejecuta exclusivamente en la infraestructura de Google y no requiere aprovisionamiento ni configuración del servidor. Un IDE en línea sirve como interfaz para toda la plataforma que conecta todos los servicios que están disponibles para Apps Script. La autenticación del usuario se integra en la plataforma a través de OAuth2 y no requiere código ni configuración por parte del autor del script.

Apps Script se ejecuta en el lado del servidor, pero puede tener interfaces de usuario creadas con Html, CSS, JavaScript o cualquier otra tecnología compatible con el navegador. A diferencia de Nodejs, que se basa en eventos, App Scripts se ejecuta en un modelo de subprocesos. Todas las llamadas a un script generan una instancia única de ese script que se ejecuta de forma aislada de todas las demás instancias. Cuando una instancia de un script termina de ejecutarse, se destruye.

Las funciones en Apps Script se bloquean, por lo que no se necesitan patrones de devolución de llamada y programación asincrónica. El bloqueo se usa para evitar que las secciones críticas del código, como el archivo IO, se ejecuten simultáneamente en diferentes instancias.

En la práctica, escribir Apps Scripts es simple. A continuación se muestra un script simple que crea una nueva hoja de cálculo a partir de una plantilla de hoja de cálculo.

// Create a new spreadsheet from a template
function createSpreadsheet(){
   var templateFileId = '1Azcz9GwCeHjGl9TXf4aUh6g20Eqmgd1UMSdNVjzIZPk';
   var sheetName = 'Account Log for:' + new Date();
   SpreadsheetApp.openById(templateFileId).copy(sheetName);   
}