Google 脚本 - 不属于我的日历事件

Google Script - Calendar events not owned by me

我正在尝试编写一个脚本来从我的个人 google 日历中删除活动邀请。我每天都受邀参加多个活动,例如 "Click here to win an 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();
    }
  }
}

最后您仍然需要遍历您不拥有的事件列表。所以你在那里无能为力。

如果您知道邀请您参加这些活动的作者是谁,您可以使用 getEvents(startTime, endTime, options) 来尝试减少要查找的活动数量。您可以尝试使用 options 参数过滤不是您的 author。此外,如果他们有一个模式,您可以使用 search 参数来减少事件的数量。