- 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.