3
votes
  1. Organizer create google event with 'guestsCanModify: true'
  2. When attendee try to update this event via google calendar api (e.g.: patch), it is not refrected to original event. I watch via google calendar web, this event note 'There have been changes made to details of this event that are only reflected on this calendar'.
  3. When attendee try to update this event via google calendar web (https://calendar.google.com/), I can change original event. This is refrected to organizer calendar.

What is problem when using google calendar api?

I use google calendar reference page. https://developers.google.com/calendar/v3/reference/events/patch I specified 'calendarId'(attendee's calendar id), 'eventId' and Request body(e.g. summary, description...etc)

Here is sample code.

Organizer's google account is '[email protected]', attendee's google account is '[email protected]'. Attendee is invited some event, and attendee want to update some event property like summary. I've changed the IDs and email addresses to fictitious ones.

  1. Attendee get invited event like this.
{
 "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": "[email protected]",
  "displayName": "Organizer"
 },
 "organizer": {
  "email": "[email protected]",
  "displayName": "Organizer"
 },
 "start": {
  "dateTime": "2020-08-05T10:00:00+09:00"
 },
 "end": {
  "dateTime": "2020-08-05T11:00:00+09:00"
 },
 "iCalUID": "[email protected]",
 "sequence": 0,
 "attendees": [
  {
   "email": "[email protected]",
   "displayName": "Organizer",
   "organizer": true,
   "responseStatus": "accepted"
  },
  {
   "email": "[email protected]",
   "self": true,
   "responseStatus": "needsAction"
  }
 ],
 "guestsCanModify": true,
 "reminders": {
  "useDefault": true
 }
}

  1. I update via google calendar api like this
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

This update is not affected to organizer, only visible for attendee. But, attendee update event's summary via google calendar web site, update is affected to organizer.

1
please edit your question include your code and describe any issues you are having with your code. - DaImTo
Could you please provide the code related to the request you're making? Please be aware that not all event properties are shared between all event attendees (each attendee has a copy of the event). - Iamblichus
Thank you for your comment.I understand that not all event properties in the Google Calendar will be shared with participants, but if the organizer has guestsCanModify to true so that participants can change the summary, description, time of day, etc., I would like to reflect the changes to the organizer and other participants. - Wataru Kinoshita

1 Answers

2
votes

This seems to be intended behaviour:

Unfortunately, considering the outcome of this Issue Tracker, this seems to be the intended behaviour at the present moment:

Guests can edit their copy of the event, but this edition won't be reflected on the organizer's calendar, only on the attendee's calendar.

Of course, the guest could also edit the event on the organizer calendar directly, but this would require the guest to have access to the organizer calendar.

File a Feature Request:

Considering that this is possible on the UI, but not via API, I'd very much suggest you to file a Feature Request at this Issue Tracker component.