I am using Exchangelib with service account credentials to impersonate individual EWS users. I am able to retrieve a list of calendars the user has access to, but this list does not include personal calendars shared with the user.
Example: Jane has a default calendar named "Calendar", and they share this calendar with Bill. Jane also has a second calendar they created and shared with Bill named "Interviews".
When I list Bill's calendars, I can only see the "Interviews" calendar - Jane's default calendar is not listed.
I am iterating over the Account()
object's calendar.children
:
>>> ews_account = Account(
primary_smtp_address=XXXXX,
config=XXXXX,
autodiscover=False,
access_type=IMPERSONATION,
)
>>> for calendar in ews_account.calendar.children:
>>> print(calendar.name)
"Interviews"
Is there a different way to find out that Jane has shared her personal calendar with Bill?
It looks like there's a method to send the calendar ID along with Jane's email address to see if it's shared with Bill, but I'm hoping for a way to list all of these without knowing the calendar ID and email address in advance.
These personal calendars were shared with "delegate" level access, but I also tried sharing with "Can Edit" access.