我一直在使用这段代码来删除谷歌日历中的事件。
var fromDate = new Date(2013,0,1,0,0,0);
var toDate = new Date(2013,0,4,0,0,0);
var calendarName = 'My Calendar';
// delete from Jan 1 to end of Jan 4, 2013
var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
var events = calendar.getEvents(fromDate, toDate);
for(var i=0; i<events.length;i++){
var ev = events[i];
Logger.log(ev.getTitle()); // show event name in log
ev.deleteEvent();
}
但是,如果我做了一系列的活动,它就会给组织者发送一封电子邮件,说我已经拒绝了该活动。 我可以关闭这个通知吗?
你可以通过用户界面修改通知设置,特别是禁用取消事件的通知,通过选择 "我的日历 "来修改通知。设置和共享 并在 其他通知,设置 Canceled events
到 None
.
如果我没理解错的话,你是想用Apps Script来编程。
据我所知,没有Apps Script内置的方法来管理这些设置。正因为如此,你应该启用 高级日历服务 并使用日历API方法。
在日历API中,通知由属性 notificationSettings
来自 日历列表资源. 要改变这些设置,你必须使用以下方法。日历列表:补丁你可以用它来更新现有的日历。
function disableNotifications() {
var calendarId = "your-calendar-id";
var resource = {
notificationSettings: {
notifications: [
{
type: "eventCreation",
method: "email"
},
{
type: "eventChange",
method: "email"
}
]
}
}
Calendar.CalendarList.patch(resource, calendarId);
}
eventCreation
和 eventChange
. 你可以根据自己的喜好,通过添加或删除类型(此处 是可能的类型)。)