虽然我添加了日历 API 并且它适用于将事件从表格写入日历,但当我尝试从日历获取事件时,CalendarEvents 方法不起作用。它们不会自动完成,并且在键入错误消息时会显示“不是函数”或返回空值。
我需要做一些事情来启动 CalendarEvents 方法吗?
var event=cal.getEvents(new Date (stime),new Date (etime))
Logger.log (event)
var caltitle = event.getTitle()
Logger.log (caltitle)
...
Execution log
11:15:38 AM Notice Execution started
11:15:39 AM Info Fri Nov 10 10:00:00 GMT+00:00 2023
11:15:39 AM Info Fri Nov 10 16:00:00 GMT+00:00 2023
11:15:39 AM Info [CalendarEvent]
11:15:40 AM Error
TypeError: event.getTitle is not a function
Calsync @ Code.gs:30
event
是一个包含 Class CalendarEvent 对象的数组。而且,似乎getTitle()
是CalendarEvent类的方法。但是,在您的脚本中, getTitle()
用于 var caltitle = event.getTitle()
处的数组。我认为这就是您当前问题的原因。为了从检索到的事件中检索事件标题,进行以下修改如何?
var event = cal.getEvents(new Date(stime), new Date(etime))
Logger.log(event)
if (event.length > 0) {
event.forEach(e => console.log(e.getTitle()));
// or
var eventTitle = event[0].getTitle();
console.log(eventTitle);
} else {
console.log("No events.");
}
cal
、stime
和 etime
已在其他地方声明。请注意这一点。