Soy muy nuevo en JavaScript, soy un ejecutivo de marketing de oficio, pero necesito crear una vista de Google Calendar a partir de una hoja de Google para nuestro calendario de contenido. Después de seguir algunos tutoriales de YT y finalmente ejecutar el código, recibí el siguiente mensaje de error:
Excepción: los parámetros (String,String,(class)) no coinciden con la firma del método para CalendarApp.Calendar.createAllDayEvent.
El siguiente es mi código:
function addEvents(){ var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var lr = ss.getLastRow(); var cal = CalendarApp.getCalendarById("CalendarID"); var data = ss.getRange("A3:C" + lr).getValues(); for(var i = 0; i<data.length; i++){ cal.createAllDayEvent(data[i][1], data[i][0], {description: data[i][2]}); } }En mi hoja de cálculo de Google, el orden de los datos es el siguiente (los datos solo aparecen en A3:C3 y hacia abajo hasta las filas inferiores): columna A: Fecha, B: Título del evento, C: Descripción
Espero que me ayuden, se los agradecería :'D
Acabo de probar su secuencia de comandos y noté que después de cambiar la información de la columna de fecha al formato de cadena, devolvió el error especificado. Lo cambié de nuevo al formato de Fecha en la Hoja y creó los eventos como se esperaba.
Asegúrese de que sus fechas estén en el formato adecuado en su hoja y luego intente nuevamente. Después de eso, debería funcionar bien.
Como referencia, el tipo de parámetros esperados se especifica aquí
También puedes probar:
cal.createAllDayEvent(nueva fecha(datos[i][1]), nueva fecha(datos[i][0]), {descripción: datos[i][2]});
fue capaz de resolver el problema, resulta que simplemente estaba vinculado a la hoja de cálculo incorrecta, ¡de ahí el problema! El código en sí ya estaba funcionando. ¡Agradezco la ayuda!
Sin embargo, hay algo más que acabo de notar con lo que podría necesitar ayuda. También me gustaría que pudiera actualizar las ediciones que hice en la hoja de cálculo, pero que no duplique los eventos que ya se realizaron desde la primera ejecución. Sé que tiene algo que ver con la cadena GetID, pero no estoy muy seguro de cómo hacerlo, ya que es la primera vez que codifico. Realmente lo agradecería. ¿Alguien puede ayudar con eso también? :'D