Cómo crear eventos de Google Calendar desde Google Apps Script

Crear eventos de Calendar desde GAS

La gran ventaja que tiene Google Workspace sobre Office 365, es la facilidad de conectar las aplicaciones entre si para facilitarnos el trabajo y automatizar nuestros procesos.

Hoy les muestro como crear eventos de Google Calendar desde una base de Google Sheets

Conectarse con Google Calendar desde Google Apps Script

Lo primero que vas a necesitar es el servico CalendarApp.

Este es el que nos conecta con los calendarios, eventos y demás funcionalidades y opciones de Google Calendar

Conectarse con un calendario desde Google Apps Script (opcional)

Cuando abrimos por primera vez nuestra cuenta Google. O cuando entramos por primera vez a Calendar, solo tenemos un calendario, y por defecto todos los eventos que creemos se crearan desde este calendario.

Lo interesante es que podemos crear múltiples calendarios y crear nuestros eventos desde el calendario que queramos.

Para esto vamos a usar el método .getCalendar(idCalendario)

La identificación de nuestro calendario principal es nuestro correo

Para buscar la identifiación de cualquiera de nuestros otros calendarios, buscamos el calendario en la barra izquierda de calendar, y en los tres puntos a la derecha del nombre damos clic sobre «Configuración»

Una vez en la configuración de ese calendario, de nuevo en el panel izquierdo, buscamos la sección «Integrar calendario»

La primera opción de esa sección es la identificación del calendario. Simplemente lo copiamos

Por último creamos una variable a la cual le vamos a asignar el calendario así:

var calendario=CalendarApp.getCalendar("guzman.sheets@gmail.com")

Crear un evento de Google Calendar desde Apps Script

Los eventos de Calendar se crean con el método createEvent(nombre, fecha inicio, fecha fin)

El nombre no tiene misterio, es simplemente una cadena de texto

Las fechas deben ser un objeto Date() de javascript. La verdad suena más complejo de lo que es

Para nuestro primer ejemplo usaremos unas fechas muy sencillas, y poco a poco iremos mirando diferentes maneras de crear las fechas

El evento lo podemos crear desde dos partes:

  1. Directamente desde CalendarApp, en cuyo caso lo creará desde nuestro calendario predeterminado
  2. Desde el calendario escogido, que vimos en la sección anterior

Directamente desde Calendar, quedaría así

CalendarApp.createEvent("Nuestro primer evento", 
                          new Date("October 7,2020 15:00"), 
                          new Date("October 7,2020 17:00"))

Desde un calendario específico quedaría así:

var calendario=CalendarApp.getCalendar("guzman.sheets@gmail.com")
calendario.createEvent("Nuestro primer evento", 
                          new Date("October 7,2020 15:00"), 
                          new Date("October 7,2020 17:00"))

Diferentes maneras de trabajar las fechas para crear un evento de Calendar

Ya vimos la primera manera que es Mes día, año hora y segundos, o en notación de formato, seria

new Date(«MMMM D,AAAA, hh:mm»)

Otra manera es con una fecha más sencilla, sin el problema del mes escrito así:

new Date(«DD/MM/AAAA hh:ss»)

Una tercera forma más fácil aun es

new Date(año,mes,dia,hora,minutos)

Conclusión

Como pudiste ver, crear un evento o cita de Google Calendar desde Google Apps Script, no es complejo, aunque hay muchas opciones que aún no hemos tocado

Algún caso específico que quieras explorar?

4 comentarios en “Cómo crear eventos de Google Calendar desde Google Apps Script”

  1. Hola Juan.
    En primer lugar te doy las MUCHAS gracias por tus tutoriales. Todos los que he visto, me han servido y mucho

    Lo que necesito hacer es enviar una macro en una fecha y horar determinada.

    En los activadores esta la opccion «Desde el Calendario» pero no logro hacerla funcionar.

    En la configuracion del activador solo puedo seleccionar «Calendario actualizado» en la seccion …detalles del calendario

    Tienes algun tutorial (lo he buscado pero no lo encontre) sobre como utilizar este activador ? o me puedes orientar sobre como seguir ??

    Muchas gracias de antemano.

    Omar desde Argentina

  2. Hola Juan,

    ¿Cómo puedo crear un evento de calendario tomando las fechas desde un Google Sheets? Me ha dado problemas porque no me reconoce el dato de fecha como Date.

    Gracias!

Deja un comentario

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.

Pin It on Pinterest

Share This