La creación de complementos para las aplicaciones de Google usando Google Apps Script y ChatGPT
Google Apps Script nos permite personalizar las aplicaciones de Google Workspace para mejorar su uso eficiente y productivo, ¡sin necesidad de instalar ningún software adicional!
Y ahora disponemos de ChatGPT como aliado que nos permite crear códigos de programación en segundos sin (casi) saber programar.
Para muestra, ¡un botón!
Probaremos crear un complemento de Hojas de cálculo que permita generar una copia de una presentación (plantilla) para cada estudiante que se encuentre en una columna de la primera pestaña. Además, compartiremos cada una de estas copias personales con el correo del estudiante con permiso de edición.
Paso 1
Crear una Hoja de cálculo de Google. En la primera pestaña colocar en el encabezado de las primeras 4 columnas, Nombre, Correo, URL de copia individual e ID de copia individual.
Luego, completar la lista de nombres de los estudiantes en la columna A y sus correos respectivos en la columna B.
Esta pestaña la llamaremos Usuarios (u otro nombre que se desee).
Paso 2
Colocar el enlace de la presentación en la celda A2 de la segunda pestaña. Esta pestaña la llamaremos Plantilla (u otro nombre que se desee).
Paso 3
Hacer clic en el menú Extensiones ⇒ Apps Script para ingresar al editor de Google Apps Script asociado a la hoja de cálculo creada.
Paso 4
Abrir ChatGPT e ingresar la siguiente consigna:
En la hoja de cálculo actual de Hojas de cálculo de Google, en la primera pestaña hay una lista de nombres de estudiantes en la columna A y direcciones de correo electrónico en la columna B. Hay encabezados de columna. Usando Google Apps Script crea una carpeta en Google Drive. En esa carpeta crea una copia de la presentación que se encuentra en la celda (2,1) de la segunda pestaña para cada estudiante. Ponle como nombre de la presentación, el nombre del estudiante. Si hay una dirección de correo electrónico, comparte la copia de la presentación con el estudiante para que tenga acceso de edición. Pon el enlace a la presentación individual en la columna C de la primera pestaña. Pon el ID de la presentación en la columna D de la primera pestaña.
(Respuesta de ChatGPT a la derecha).
Lo interesante es que se obtiene la secuencia y la explicación de las acciones que realiza.
Parte 5
Copiar la secuencia de código y pegarla en el editor de código de Google Apps Script que se tiene abierto. Reemplazamos los nombres de las pestañas “Sheet1” por “Usuarios” y “Sheet2” por “Plantilla” (o el nombre que se haya colocado a cada una de estas pestañas).
Parte 6
Hacer clic en el ícono de Grabar y luego en Ejecutar (Run) para probar el código.
¡Y falló!
Parte 7
Revisar la línea 12 en la que se encuentra el error, el cual aparece al aplicar el método getFileById.
Si nos fijamos en la línea anterior, el programa ha capturado la URL de la presentación como si fuera el ID….
Insertar el método console.log(presentationId) en la línea 12 para observar el contenido de esta variable.
Volver a ejecutar la secuencia.
¡Comprobado! Está empleando la URL de la presentación como si fuera el ID.
Parte 8
Preguntar a ChatGPT
¿Cómo obtengo el ID de la presentación a partir de la URL?
Parte 9
Notar que sugiere emplear el método match() a partir de la url del archivo y luego especificar que se quiere el valor de match[1] (una subcadena de la URL que será el ID).
Con esta idea, se puede incorporar esta indicación en la secuencia (ver línea 13 y 14).
(También se podría usar la función sugerida por ChatGPT).
¡Y funcionó!
En Mi Unidad, se verá la carpeta Presentations con las copias individuales de las estudiantes, cada una compartida con ellas con permiso de edición.
Parte 10
Una posible mejora de la secuencia creada es el mover las líneas 11 a 15 antes del loop (for), pues son valores fijos que no se modificarán durante la ejecución del for.
Además, se puede cambiar el “var” por “const”, dado que son valores que no se modificarán durante la ejecución del código, evita que volvamos a usarlas por error con otro contenido y “const” emplea menos memoria.
Finalmente, se podría retirar el método console.log, pues ya no se necesita revisar el contenido de las variables presentationURL y presentationID.
Nota:
- En general, ChatGPT nos dará una secuencia de código que hay que probar y depurar.
- Puede servir copiar el error que resulta al ejecutarlo y pegarlo en el recuadro de la consigna de ChatGPT para pedirle que nos dé una solución al problema.
En una siguiente publicación, veremos cómo insertar diapositivas en las presentaciones individuales creadas para los estudiantes. 🌷