Estoy tratando de actualizar el título de los eventos en los últimos 7 días en un calendario específico, cuando un usuario envía un formulario.
Tengo este código ahora:
function myFunction() { var form = FormApp.openById('1g4gA7glYWRKOVqOi3z3qxyEGbJgaSg_2Jkry_uOp0Cc'); var responses = form.getResponses(); var len = responses.length; var last = len - 1; var items = responses[last].getItemResponses(); var email = responses[last].getRespondentEmail(); var equipment = items[1].getResponse(); var cal = CalendarApp.getCalendarsByName(equipment); var d = new Date(); var ms = d.getTime(); var sevenDays = 7*24*60*60*1000; var minus7daysMs = ms - sevenDays; var minus7days = new Date(minus7daysMs); Logger.log('Number of events: ' + minus7days); var events = cal[0].getEvents(minus7days, d); var title = events.getName; Logger.log('Event title: ' + title); events.setTitle('Returned'); } Sin embargo, aparece ese error al ejecutar el código: TypeError: events.setTitle is not a function myFunction @ update.gs:22
Probé muchas formas diferentes de hacerlo, pero siempre termina con un error. ¿Podría decirme qué estoy haciendo mal?
¡Muchas gracias por su ayuda!
Desde su secuencia de comandos, getEvents(startTime, endTime) devuelve CalendarEvent[] . Y setTitle(title) es un método de Class CalendarEvent. En su secuencia de comandos, en events.setTitle('Returned') , setTitle se usa para una matriz. Creo que la razón de su problema se debe a esto. Cuando desee cambiar todos los eventos en events con setTitle('Returned') , ¿qué tal la siguiente modificación?
events.setTitle('Returned'); events.forEach(e => e.setTitle('Returned'));events .