Bienvenidos a una sesión más de Google Apps Script. En el post anterior sentamos unas bases sobre esta tecnología. En esta ocasión vamos a empezar a utilizar el entorno de desarrollo para crear un proyecto desde cero. Haremos nuestro primer script, depuraremos código y visualizaremos diferentes mensajes de log.

Creando un proyecto desde cero

Si queremos desarrollar un complemento, lo primero que debemos hacer es inicializar un nuevo proyecto. Lo podemos hacer de varias formas pero para evitar una serie de problemas en el futuro (cuando utilicemos la clase Ui de Google nos dará un error de compatibilidad entre versiones) vamos a hacerlo de la siguiente manera: nos vamos a nuestro Drive y en una carpeta de nuestra elección (o en el mismo raíz) pulsamos el botón rojo de la izquierda “Nuevo” > “Hojas de cálculo de Google”.

nueva_spreadsheet_apps_script

En esta hoja de cálculo que se abre vamos al menú superior y pulsamos en “Herramientas” > “Editor de secuencias de comandos…”.script_editor_apps_script

Se abrirá el entorno de desarrollo de Apps Script, que está dividido en diferentes secciones. En la parte superior tenéis la barra de menú, en la que se nos da una serie de opciones que tendremos que utilizar a lo largo de la creación de nuestro proyecto para sacarlo adelante (no desesperéis, las iremos explicando en las próximas entradas, cuando las vayamos utilizando). A la izquierda se situarán los ficheros que van a componer el proyecto y a la derecha tenemos el editor, donde escribiremos el código.

Lo primero que debemos hacer es nombrar nuestro proyecto. Nosotros le hemos puesto “Codictados”, pero tu lo puedes denominar como te plazca (podrás cambiarlo cuando quieras).

Programando nuestro primer script

Te habrás fijado que al crear un nuevo proyecto, éste tiene por defecto un fichero llamado “Código.gs”, que contiene una única función (myFunction) y que además no hace absolutamente nada. Vamos a utilizar esta configuración inicial para aprender las dos funciones esenciales que todo programador debe dominar en un entorno de desarrollo: la depuración y los logs.

Como es nuestro primer script, vamos a usar un código muy simple. Pongámonos en situación:

  • Dos funciones.
  • La primera de ellas inicializa una variable a 0 y tiene un bucle en el que va llamando a una segunda función en cada una de sus vueltas. Esta segunda función a la que llama, devuelve un valor para sobreescribir  la variable inicial.
  • La segunda de las funciones recibe un número cualquiera, aumenta en uno su valor y lo devuelve.
  • Al finalizar la ejecución del programa mostraremos un mensaje de registro (log) con el valor final de nuestra variable.

Aquí está el código resultante:

Ejecutando en modo depuración

El editor de código de Google Apps Script nos permite ejecutar código en modo depuración para que podamos localizar fallos en el código o averiguar por qué nuestro programa no funciona como esperamos.

Al ejecutar el programa en este modo, el programa se pausa cuando llega a un punto de interrupción establecido (también llamado “Breakpoint”). Un punto de interrupción es una línea que marcamos cuando pensamos que podría tener algún problema (trabajar con un dato erróneo, devolver mal el valor de una variable, etc).

Cuando se pausa la ejecución del programa, el entorno muestra el valor de cada variable en el momento de la pausa, permitiendo inspeccionar el funcionamiento interno de una secuencia de comandos sin tener que añadir un montón de sentencias de registro (log).

Veamos la depuración de este programa en profundidad con un vídeo demostrativo:

Como habréis visto, no es algo muy complicado. A este nivel, con un bucle simple y el aumento de un número, no es muy necesario hacer una depuración porque todos sabemos cómo se va a comportar el programa, pero era perfecto para enseñaros a usarlo. Estas utilidades os pueden sacar las castañas del fuego en más de una ocasión si no dais con el problema de turno, ya que podréis comprobar el valor de todas vuestras variables de forma exhaustiva.

Si queréis dominar Google Apps Script, tendréis que dominar también la depuración y los mensajes de registro, pues es algo esencial en el desarrollo de cualquier complemento.

Transcripción de la ejecución y mensajes de registro

Cada vez que ejecutamos una secuencia de comandos, Google Apps Script guarda una transcripción de la ejecución, es decir, un registro de todas las llamadas que se realizan al servicio de Apps Script mientras se ejecuta el programa. Esta transcripción puede ayudarnos a entender qué acciones lleva a cabo nuestro programa.

Para ver la transcripción de la ejecución debemos irnos a la barra de menú y hacer click en “Ver” > “Transcripción de la ejecución”, una vez que haya finalizado la ejecución del programa. Ejecutando el programa anterior obtendremos un transcripción como esta:

Transcripción de la ejecución

Es importante tener en cuenta que la transcripción de la ejecución se restablece cada vez que se ejecuta la secuencia de comandos.

La transcripción de la ejecución sólo registra las llamadas a los servicios de Google Apps Script, pero puede ser útil guardar otros datos si estamos intentando solucionar uno o varios problemas. Apps Script nos permite escribir mensajes personalizados en un fichero de registro. Fichero que podrá ser visualizado después de completar la ejecución del programa.

Para escribir estos mensajes debemos llamar al método “log” de la clase “Logger” pasándole el dato que queremos dejar registrado. Cuando la secuencia haya terminado su ejecución podremos ver todos los mensajes que han sido guardados yéndonos a la barra de menús y haciendo click en “Ver” > “Logs”, o pulsando Ctrl+Enter.

Mensajes de registro de Apps Script

Aquí podemos observar como se ha guardado un registro definido por nosotros. Estamos mostrando el valor de la variable “numero” justo antes de finalizar el programa.

Que hemos visto y que viene

Hemos tenido una primera toma de contacto con Google Apps Script, creando un proyecto desde cero y desarrollando un primer programa muy básico. Hemos visto también qué es el modo depuración, para qué sirve y cómo sacar partido de esa funcionalidad y también de los mensajes de registro.

La semana que viene empezaremos el desarrollo de un complemento para hojas de cálculo de Google y tomaremos como referencia uno que ya existe, Yet Another Mail Merge, de Romain Vialard. A modo de resumen, se podría decir que se trata de una aplicación que envía correos electrónicos a varios destinatarios a partir de un mensaje borrador que se haya creado en Gmail.

Lo cierto es que es bastante completo, por lo que vamos a realizar su desarrollo en unas cuantas sesiones. Aprenderéis varias cosas: desde utilizar diferentes APIs de Google hasta utilizar un estilo establecido por ellos mismos para implementar una interfaz gráfica elegante y profesional.

Espero que os haya sido de utilidad ¡Nos vemos la semana que viene!

1 Comentario
  1. Jose Angel Martinez Fonseca 3 años

    Muy interesante. En una rutina que estoy tratando de depurar, hay una instrucción Browser.msgBox en la que hago una pregunta al usuario. Una vez que esta sale en pantalla, ya no consigo seguir con la depuración. Sale un mensaje diciendo “Lo sentimos, se ha producido un error en el servidor. Espera un momento y vuelve a intentarlo.Ignorar”.
    ¿Como se consigue continuar con la depuración en estos casos?

Contesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

©2018 Codictados Comunidad libre para el aprendizaje de codigo Online

o

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

o

Create Account