我正在尝试编写脚本以从我的个人Google日历中删除活动邀请。我每天都被邀请参加多个活动,例如“单击此处赢取iPhone”等。
我编写了一个Google脚本来每小时运行一次,并删除我不是所有者的所有事件。但是,这是获取所有事件,然后遍历它们以查看我是否是for循环的所有者。这似乎效率很低,并且运行时间很长。
有没有更好的方法来实现这一目标。
下面的当前代码:
function deleteScamCalendarInvites() {
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear() + 5, date.getMonth(), 1);
var myCalendar = CalendarApp.getDefaultCalendar();
var myEvents = myCalendar.getEvents(firstDay, lastDay);
for(var i in myEvents){
if(myEvents[i].isOwnedByMe() == false){
var eventId = myEvents[i];
eventId.deleteEvent();
}
}
}
答案 0 :(得分:0)
最后,您仍然需要遍历不属于您的事件列表。因此,您无能为力。
最好的办法是尝试减少要查找的事件的数量,如果您知道谁是邀请您参加这些事件的作者,则可以使用getEvents(startTime, endTime, options)
。您可以尝试使用不是您自己的options
参数来过滤author
参数。另外,如果它们具有模式,则可以使用search
参数来减少事件数量。