He intentado implementar este código para integrar el calendario de Google con mi hoja de cálculo, pero he fallado hasta ahora. Sigue el código...
function scheduleShifts() { var spreadsheet = SpreadsheetApp.getActiveSheet(); var calendarId = spreadsheet.getRange("Dados!CJ3").getValue(); var eventCal = CalendarApp.getCalendarById(calendarId); var signups = spreadsheet.getRange("Dados!CI5:CK3500").getValues(); for (x=0; x<signups.length;x++) { var shift = signups[x]; var startTime = shift[0]; var endTime = shift[1]; var volunteer= shift[2]; eventCal.createEvent(volunteer,startTime,endTime); } }Mensaje de error:
21:19:29 Excepción de error: los parámetros (String,String,String) no coinciden con la firma del método para CalendarApp.Calendar.createEvent. ScheduleShifts @ Agenda.gs:12
Artículo basado:
¿Me puedes ayudar?
Prueba esto:
function scheduleShifts() { var spreadsheet = SpreadsheetApp.getActiveSheet(); var calendarId = spreadsheet.getRange("Dados!CJ3").getValue(); var eventCal = CalendarApp.getCalendarById(calendarId); var signups = spreadsheet.getRange("Dados!CI5:CK3500").getValues(); for (x=0; x<signups.length;x++) { var shift = signups[x]; var startTime = new Date(shift[0]); var endTime = new Date(shift[1]); var volunteer= shift[2]; eventCal.createEvent(volunteer,startTime,endTime); } }La firma del método para calendar#createEvent es
Actualmente está enviando parámetros de cadena (String,String,String). Como se muestra en el mensaje de error
Excepción: los parámetros (String,String,String) no coinciden con la firma del método para CalendarApp.Calendar.createEvent. turnos de horario
Si bien el método requiere que tanto la fecha de inicio como la fecha de finalización sean en realidad fechas, no cadenas.
var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing', new Date('July 20, 1969 20:00:00 UTC'), new Date('July 21, 1969 21:00:00 UTC')); Logger.log('Event ID: ' + event.getId());