function traerEventosDeUnCalendario() {
const libro = SpreadsheetApp.getActiveSpreadsheet();
const hoja = libro.getActiveSheet();
const idCalendario = "### **_acá va la dirección de correo de tu calendar capo_**";
const calendario = CalendarApp.getCalendarById(idCalendario);
const eventos = calendario.getEvents(new Date(2024,5,12), new Date(2024,11,31));
// cambia la fecha de arriba por la que más te guste máquina, recordá que en java los meses empiezan en = ej. mayo no es 05 es 04
eventos.forEach(evento => {
const id = evento.getId();
const inicio = evento.getStartTime();
const nombre = evento.getTitle();
const fin = evento.getEndTime();
const descripcion = evento.getDescription(); // Obtiene la descripción del evento
// Extrae el correo electrónico y el número de teléfono de la descripción
const email = descripcion.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/);
let telefono = descripcion.match(/(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}/);
// Elimina los caracteres no numéricos del número de teléfono
if (telefono) {
telefono = telefono[0].replace(/\D/g, '');
}
// Solo agrega la fila si se encontró un correo electrónico o un número de teléfono
if (email || telefono) {
hoja.appendRow([nombre, inicio, fin, email ? email[0] : '', telefono ? telefono : '']);
}
});
Para automatizar el asunto segui los siguientes pasos:
puedes configurar un disparador basado en tiempo que ejecute tu script a intervalos regulares. Aquí te dejo cómo puedes hacer esto:
Abre tu proyecto en Google Apps Script.
En la barra de herramientas superior, haz clic en el ícono del reloj ⏲️. Esto abrirá el panel de disparadores del proyecto1.
Aquí, haz clic en el botón “+ Añadir disparador” en la esquina inferior derecha1.
En la configuración del disparador:
Función a ejecutar: selecciona traerEventosDeUnCalendario.
Despliegue de la función: deja esto como Head.
Evento fuente: selecciona “Time-driven” (Basado en tiempo).
Tipo de temporizador: selecciona “Minutes timer” (Temporizador de minutos) o “Hour timer” (Temporizador de horas), dependiendo de la frecuencia con la que quieras que se ejecute tu script1.
Te recomiendo elegir la opción cada vez que se actualize y no por tiempo