Search code examples
google-apigoogle-calendar-api

Google Calendar patch API only seems to edit the event for the attendee and not everyone else


The Google Calendar API lets you patch events by having you provide calendarId, eventId and a request body of the properties you want to selectively update.

I have a situation where I have:

  • Alice creates and event (let's say with id event123) and invites Bob. This makes Alice the organizer
  • Bob receives the invite, this makes him an attendee

Alice and Bob both separately auth with the API, let's call Alice's auth (A) and Bob's (B)

(A) and (B) both seem to see the same event with the same event id event123. When (A) does a patch on event123, the event changes for everyone. However, when (B) does a patch on event123, it only changes for Bob.

This is surprising to me, and makes the API almost useless. Is there some way for (B) to update the event so that it updates for everyone? Assuming they have edit access on the event?

The behavior on Google Calendar's UI seems to be what I'm looking for, so I'm a little bit confused why the API doesn't behave like that by default.


Solution

  • I did some testing on my end and I got the same result, even if the guests have the Modify event permission enabled, changes are only reflected in the guest event.

    At this moment this seems to be expected behavior as this ability to modify events as a guest even with the right permissions is not yet available through the Calendar API, you can check the feature request here.

    The guest could modify the event in the organizer's calendar directly through the Calendar API but this means that the organizer would need to share their calendar with the specific user and give permissions to make changes to events. If this is an option for you, after the organizer shares the calendar with the specific guest, then the guest will need to specify the organizer's calendarId in the patch request.

    References: