【发布时间】:2020-07-14 10:44:36
【问题描述】:
由于某种原因,在我的日历中创建了一系列不被视为重复事件的事件。由于我们谈论的是未来 3 年每周 2 次活动,因此我希望使用 Google Apps 脚本从我的日历中删除这些活动。
这些事件有一个单一的特定名称,由我创建。我想删除将来具有该特定名称且由我创建的所有事件。
由于我对脚本完全陌生,因此我尝试了下面的示例代码。不幸的是,它在我设置的测试日历中没有任何作用(测试)。 Google Apps 脚本中的调试选项不会生成任何错误或消息。运行脚本也不会生成任何日志...
那么,谁能帮助指出下面的代码有什么问题以及如何根据事件标题和该事件的创建者删除特定事件?
function delete_events()
{
var calendarName = 'Test';
// for month 0 = Jan, 1 = Feb etc
// below delete from Jul 13 2020 to Jul 18 2020
var fromDate = new Date(2020,7,13,0,0,0);
var toDate = new Date(2020,7,18,0,0,0);
var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
var events = calendar.getEvents(fromDate, toDate);
for(var i=0; i<events.length;i++){
var ev = events[i];
// show event name in log
Logger.log(ev.getTitle());
ev.deleteEvent();
}
}
【问题讨论】:
-
使用数字创建日期的方式是 2020 年 8 月 13 日至 18 日,而不是 7 月。是这个问题吗?尝试以字符串形式输入日期,例如
new Date("2020-07-13") -
@dwmorrin 感谢您的建议,它帮助解决了第一部分:删除指定时间范围内的所有事件。
-
对@dwmorrin 评论的引用:在Javascript 中months 以
0开头。此外,如果您有多个名为“Test”的日历,请小心,因为您可能访问了错误的日历。
标签: google-apps-script google-calendar-api