客人可以修改的活动不会通过 google 日历 api 更新

An event that is guests can modify is not update via google calendar api

  1. 组织者创建 google 活动 'guestsCanModify: true'
  2. 当与会者尝试通过 google 日历 api 更新此事件时(例如:patch),它不会被反射到原始事件。我通过 google 日历网络观看,此事件记录 'There have been changes made to details of this event that are only reflected on this calendar'。
  3. 当与会者尝试通过 google 日历网络 (https://calendar.google.com/) 更新此活动时,我可以更改原始活动。这将反映到组织者日历中。

使用 google 日历 api 时有什么问题?

我使用 google 日历参考页。 https://developers.google.com/calendar/v3/reference/events/patch 我指定了 'calendarId'(与会者的日历 ID)、'eventId' 和请求正文(例如摘要、描述...等)

这是示例代码。

组织者的 google 帐户是 'organizer@sample.com',与会者的 google 帐户是 'attendee@sample.com'。 与会者被邀请参加一些活动,而与会者想要更新一些活动 属性,例如摘要。 我已将 ID 和电子邮件地址更改为虚构的。

  1. 与会者收到这样的邀请活动。
{
 "kind": "calendar#event",
 "etag": "\"xxxxxx\"",
 "id": "eventidsample",
 "status": "confirmed",
 "htmlLink": "https://www.google.com/calendar/event?eid=sample",
 "created": "2020-08-05T02:39:16.000Z",
 "updated": "2020-08-06T04:59:51.271Z",
 "summary": "Meeting",
 "description": "Talk about product.",
 "creator": {
  "email": "organizer@sample.com",
  "displayName": "Organizer"
 },
 "organizer": {
  "email": "organizer@sample.com",
  "displayName": "Organizer"
 },
 "start": {
  "dateTime": "2020-08-05T10:00:00+09:00"
 },
 "end": {
  "dateTime": "2020-08-05T11:00:00+09:00"
 },
 "iCalUID": "eventidsample@google.com",
 "sequence": 0,
 "attendees": [
  {
   "email": "organizer@sample.com",
   "displayName": "Organizer",
   "organizer": true,
   "responseStatus": "accepted"
  },
  {
   "email": "attendee@sample.com",
   "self": true,
   "responseStatus": "needsAction"
  }
 ],
 "guestsCanModify": true,
 "reminders": {
  "useDefault": true
 }
}

  1. 我通过 google 日历 api 像这样更新
curl --request PATCH \
  'https://www.googleapis.com/calendar/v3/calendars/attendee%40sample.com/events/eventidsample?key=[YOUR_API_KEY(Attendee's key)]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"summary":"Meeting title updated"}' \
  --compressed

此更新不影响组织者,仅对与会者可见。 但是,与会者通过 google 日历网站更新活动摘要,更新会影响组织者。

这似乎是有意为之的行为:

不幸的是,考虑到此问题跟踪器的结果,这似乎是目前的预期行为:

来宾可以编辑他们的活动副本,但此版本不会反映在组织者的日历上,只会反映在与会者的日历上。

当然,来宾也可以直接在组织者日历上编辑活动,但这需要来宾有权访问组织者日历。

提交功能请求:

考虑到这可以在 UI 上实现,但不能通过 API,我强烈建议您在 this Issue Tracker component.[=12= 上提交功能请求]