有没有办法通过 Google Apps 脚本修改实时日历事件?

Is there a way to modify a live Calendar event through Google Apps Script?

目标:通过 Google 日历添加与会者添加到现场创建的现场活动中

上下文:正在创建的实时事件(左)+ 日历插件(右)

代码片段:

current_user = e.calendar.calendarId;
event_id = e.calendar.id;
var calendar = CalendarApp.getCalendarById(current_user);
var event = calendar.getEventById(event_id);

但是,当我打开一个事件时,current_userevent_id有值,event似乎是null,因为这个事件在技术上不是'created' 还。如果它已经创建,那么一个简单的 event.addGuest() 就可以了

甚至可以在创建直播活动时对其进行自定义吗?我找到的每个示例都只更新已创建的事件。

编辑:忘记post我正在使用的范围。 appsscript.json 的片段在下面

{
  ....,
  "oauthScopes": [
    "https://www.googleapis.com/auth/calendar.addons.current.event.read",
    "https://www.googleapis.com/auth/calendar.addons.current.event.write",
    "https://www.googleapis.com/auth/calendar.addons.execute",
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.google.com/calendar/feeds"
  ],
  "addOns": {
    "common": {
      ...
      }
    },
    "calendar": {
      "currentEventAccess": "READ_WRITE",
      ...
    }
  }
}

将您的代码更改为:

  if (!e.calendar.capabilities.canAddAttendees) {
    return;
  }

  CardService.newCalendarEventActionResponseBuilder()
    .addAttendees(["example1@example.com", "example2@example.com"])
    .build();

参见文档:
https://developers.google.com/workspace/add-ons/calendar/calendar-actions?hl=en#adding_attendees_with_a_callback_function