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

时间:2019-12-05 10:01:00

标签: google-apps-script google-calendar-api

我正在尝试编写脚本以从我的个人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();
    }
  }
}

1 个答案:

答案 0 :(得分:0)

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

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