• slidebg1

Desarrollando Google Apps Script


En este post vamos a ver como preparar un entorno de trabajo productivo para desarrollar Google Apps Script (GApps)

Tardé muy poco tiempo en buscar alternativas al editor que ofrece google para poder desarrollar GApps en local utilizando un IDE más completo. Lograrlo es un poco más enrevesado de lo que parece a simple vista, pero siguiendo esta guía no tendremos porqué tener problemas a la hora de implementar y hacer funcionar los complementos que necesitamos.

 

Pasos a seguir

 

Requisitos

Para poder seguir esta guía se necesita lo siguiente:

  1. Node.js

  2. Un poco de tiempo y paciencia

 

Sincronizando código Drive ←→ Local

Para sincronizar el código en local con su correspondiente espacio en drive vamos a utilizar un paquete de node llamado gapps

 

IMPORTANTE

Para que esta herramienta funcione se requiere que los scripts estén dentro de un Proyecto de Google Apps Script en lugar de embebidos en cualquier otro documento. Más adelante se explicará cómo crear un proyecto Google Apps Script y cómo integrarlo dentro de los documentos que necesitemos.

 

Instalando gapps

Como hemos dicho antes gapps es un paquete de node, este sería el comando para instalar

npm install -g node-google-apps-script

 

De esta forma ya deberíamos tener acceso a el comando "gapps" mediante la terminal (Win / Mac / Linux)

 

Configurando gapps

Esta puede que sea la parte más engorrosa, pero siguiendo estos pasos la tendremos hecha en un momento. Para poder utilizar gapps necesitamos crear un proyecto en Developer Console de Google y autorizar la api de Google Drive, siguiendo este link, matamos dos pájaros de un tiro

 

  1. Asegurate de que la opción “Crear proyecto” está seleccionada y pulsa en continuar.

  2. Después de este paso ya se tienen que haber creado el proyecto y habilitado la API de google.

  3. Sal del menú de ayuda pulsando sobre “Cancelar”

  4. Pulsa “Crear credenciales”, aparecerá un desplegable, pulsa sobre la opción “ID de cliente de OAuth”

  5. Ahora te aparecerá un mensaje diciendo algo parecido a lo siguiente “Para crear un ID de cliente OAuth, debes definir un nombre de producto en la pantalla de autorización” Esto es muy sencillo, pulsa sobre Configurar pantalla de autorización y en el segundo campo de texto “Nombre del producto” introduce el nombre que consideres, para lo que queremos conseguir nos importa más bien poco el nombre.

  6. Una vez hayas pulsado sobre guardar volverá a la pantalla anterior y te pedirá que elijas el tipo de aplicación, hay que seleccionar “Otros”.

  7. Una vez lo hayas hecho te pedirá que introduzcas un nombre, puedes poner cualquiera, no lo vamos a necesitar.

  8. Una vez creado aparece un pop-up de titulo “Cliente de OAuth” que cerraremos pulsando sobre aceptar, no nos interesa.

  9. Una vez cerrada pulsamos sobre el ID de cliente que acabamos de crear

  10. Ahora si nos fijamos en la barra superior tenemos unas opciones más, entre ellas Descargar JSON, esa es la que nos interesa. Pulsamos y localizamos el fichero

  11. Ahora solo tenemos que ir a la consola y ejecutar el siguiente comando gapps auth /path/to/file.json

  1. Al ejecutarse mostrará una url que debemos copiar y pegar en el navegador SIN CERRAR LA TERMINAL

  2. Una vez hecho esto, aparecerá un cuadro de permisos de google donde te pedirá un usuario (El usuario en el que se vayan a guardar los proyectos de GApps) y los permisos que está pidiendo.

  3. Cuando se concedan los permisos necesarios el proceso que tenemos en la terminal finalizará con un mensaje de éxito.

  4. Y a partir de aquí… ya tenemos nuestra herramienta preparada! Veamos cómo funciona

 

Utilizando gapps - clone

Ya deberíamos tener la autorización gapps configurada, si no es así, vuelve atrás y sigue los pasos indicados! Bien ¿Qué hacemos ahora con gapps?

Pues si lo que queremos es iniciar el proyecto para poder trabajar en local utilizaremos

gapps init | clone

Como veis se puede llamar de dos formas, o bien con init o con clone, ambas opciones hacen lo mismo, y tenemos que pasarle como parámetro el fileId del proyecto ¿Cómo conseguimos esto? Pues muy sencillo.

Debes crear un proyecto de Google Apps Script, para ello debes hacer lo siguiente

  1. Entra en tu Drive y pulsa sobre “Nuevo”

  2. A continuación posicionate sobre el desplegable “Más” y dentro de esa lista pulsa sobre “Conectar más aplicaciones”

  3. Se abrirá el buscador de aplicaciones de google, una vez esté abierto, busca “Script” y dale a enter. Luego añade la aplicación que se llama “Google Apps Script”

  4. Una vez hecho esto, pulsa otra vez en “Nuevo” y vuelve al desplegable “Más”

  5. Ahora en la lista aparece un tipo de documento que se llama “Google Apps Script”

  6. Pulsa sobre él para crear uno nuevo.

  7. Una vez estés en el proyecto PONLE UN NOMBRE, no te lo dejes para el final

  8. Tranquilo que ya estamos terminando

  9. Ahora solo falta que copies el file id de la url

https://script.google.com/d/this_is_the_file_id/edit?usp=drive_web

Para sincronizar el proyecto como hemos dicho antes, utilizamos el comando:

gapps init | clone

Esto crea una carpeta con el nombre de “src” por defecto y dentro todos los ficheros que tuviéramos en el proyecto.

También se crea un archivo de configuración de nombre “gapps.config.json” dentro ya dos parámetros “fileId” NO LO TOQUES y “path”, este último sirve para cambiar el nombre de la carpeta contenedora de los scripts que tengas en local, como hemos dicho antes por defecto “src”, si quieres cambiar el nombre de la carpeta, lo debes modificar tanto en el json de configuración como en la carpeta.

 

Utilizando gapps - push

Bueno! Ahora ya solo que abramos la carpeta del proyecto con nuestro IDE favorito y nos pongamos a desarrollar. Y para sincronizar los ficheros utilizamos el comando.

gapps update | push

Esto deja el proyecto exáctamente como lo hayamos dejado en local. OJO si hemos tocado cosas en local y en remoto (el editor del drive) al hacer un gapps push local machaca los cambios del remoto.

 

 

Conclusión

Si has llegado ha esta parte del post y no has tenido problemas por el camino, enhorabuena! Has conseguido hacer el setup del entorno para trabajar con Google Apps Script desde tu equipo local, esto proporciona multiples ventajas, como por ejemplo, utilizar git para el versionado de código, o bien utilizar tu IDE favorito, o cualquier cosa que se te ocurra que puedas hacer en tu máquina con un fichero de texto plano :D

 

Referencias:

https://github.com/danthareja/node-google-apps-script

Públicado el 07/09/2017

Comparte este post:

CATEGORÍAS: Aprendizaje Desarrollo Tendencias