'An event that is guests can modify is not update via google calendar api
- Organizer create google event with 'guestsCanModify: true'
- 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'.
- 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.
- 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
}
}
- 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.
Solution 1:[1]
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.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |