Within Google calendar, attendees without "modify event" permission can make private changes to their copy of the event. These changes are only reflected in their calendar.
In the below example, a creator has invited me to an event and I've changed the start time to 45 minutes later:
This is reflected in the Google Calendar API response.
Creator's event response:
{
"kind": "calendar#event",
"etag": "\"123\"",
"id": "abc",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=abc",
"created": "2020-06-14T11:49:54.000Z",
"updated": "2020-06-14T12:43:41.896Z",
"summary": "Non Creator changes start_time and saves",
"creator": {
"email": "david@example.com",
"self": true
},
"organizer": {
"email": "david@example.com",
"self": true
},
"start": {
"dateTime": "2020-06-14T11:00:00+01:00"
},
"end": {
"dateTime": "2020-06-14T12:00:00+01:00"
},
"iCalUID": "abc123@google.com",
"sequence": 0,
"attendees": [
{
"email": "david@example.com",
"organizer": true,
"self": true,
"responseStatus": "accepted"
},
{
"email": "ryan@example.com",
"responseStatus": "accepted"
}
],
"hangoutLink": "https://meet.google.com/abc",
"conferenceData": {
...
},
"reminders": {
"useDefault": true
}
}
Attendee's event response:
{
"kind": "calendar#event",
"etag": "\"123\"",
"id": "abc",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=abc",
"created": "2020-06-14T11:49:54.000Z",
"updated": "2020-06-15T12:19:25.966Z",
"summary": "Non Creator changes start_time and saves",
"creator": {
"email": "david@example.com"
},
"organizer": {
"email": "david@example.com"
},
"start": {
"dateTime": "2020-06-14T11:45:00+01:00"
},
"end": {
"dateTime": "2020-06-14T12:30:00+01:00"
},
"iCalUID": "abc123@google.com",
"sequence": 0,
"attendees": [
{
"email": "david@example.com",
"organizer": true,
"responseStatus": "accepted"
},
{
"email": "ryan@example.com",
"self": true,
"responseStatus": "accepted"
}
],
"hangoutLink": "https://meet.google.com/abc",
"conferenceData": {
...
},
"reminders": {
"useDefault": true
}
}
The issue this now presents is determining the canonical version of the event from the attendee's request. In the above response there's no flag to state it contains private changes.
Is there such a method to determine private changes to an event in the Google Calendar API?
