Google脚本-我不拥有的日历事件

问题描述 投票:0回答:1

我正在尝试编写脚本以从我的个人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();
    }
  }
}
google-apps-script google-calendar-api
1个回答
0
投票

最后,您仍然需要遍历不属于您的事件列表。因此,您无能为力。

如果希望知道谁是邀请您参加这些事件的作者,您可以使用getEvents(startTime, endTime, options),尝试减少查找事件的数量,这是很好的选择。您可以尝试使用不是您自己的getEvents(startTime, endTime, options)来过滤options参数。另外,如果它们具有模式,则可以使用author参数来减少事件数。

© www.soinside.com 2019 - 2024. All rights reserved.