我在 Apps 脚本中有以下代码,用于在将条目添加到 google 工作表时创建日历事件,我关注了 Youtube 视频,代码就像只是更改了条目编号。
运行脚本时不断出现以下错误:
8:05:58PM | 错误 | 异常:参数 (String,String,String,String,(class),(class)) 与 |
代码:
function createCalendarEvent() {
let pawsomedogCalendar = CalendarApp.getCalendarById("[email protected]");
let sheet = SpreadsheetApp.getActiveSheet();
let schedule = sheet.getDataRange().getValues();
schedule.splice(0,2);
schedule.forEach(function(entry) {
pawsomedogCalendar.createEvent(entry[40],entry[3],entry[4],entry[42],entry[43],entry[44]);
});
}
谷歌表链接: https://docs.google.com/spreadsheets/d/13GuDYE2tRWbwhA2o3M9mAfL0AGh7zfAdFalIQ8HSCQQ/edit?usp=sharing
为了使用 Google 日历创建活动,必须满足这些特定参数。
createEvent(title, startTime, endTime)
根据您提供的代码,参数使用不正确。此外,由于您将日期和时间值引用到 Google Sheets 中的数据,因此在使用之前需要将其转换为 Date 对象。在此代码中,直接传递值,这将导致错误或意外行为,因为 createEvent 方法无法直接处理日期和时间的字符串输入。
这是您可以使用的更新后的代码。
function createCalendarEvent() {
let pawsomedogCalendar = CalendarApp.getCalendarById("[email protected]"); //Please insert the correct Calendar ID
let sheet = SpreadsheetApp.getActiveSheet();
let schedule = sheet.getDataRange().getValues();
schedule.splice(0,1); // Since you only have 1 header row in your provided sheet, you only have to remove one.
schedule.forEach(function(entry) {
var title = entry[40];
//Converting the String cell values into Date objects
var startDate = new Date(entry[43]);
var endDate = new Date(entry[44]);
pawsomedogCalendar.createEvent(title, startDate, endDate);
});
}
欢迎访问这些公共文档和视频以供参考: