Every Event belongs to a Calendar, so when I receive a webhook from Outlook API management about a calendar event, I expect to also receive the container ID of this Events, but no. I get very little information about this calendar event, but still there is an ID. The problem how to get the ID of the calendar itself that holds this event?
I use unified API for querying this, and all I get so far is
GET https://graph.microsoft.com/beta/me/Events/< ID >
But guess what, nowhere inside this response do I find the calendar ID. < sick >
Can anyone tell me how to retrieve the calendar ID from an Event ID?
Question seems quite old, but in case someone is having same issues, there is some good and bad news.
Good news: graph entities, no exception Event, have so called relationships (see docs). To get relationship data you just need to append relationship name to the end of request path. In our case:
GET https://graph.microsoft.com/beta/me/Events/< ID >/calendar
Bad news: in this particular case, it will always return user's calendar. It could be OK in some scenarios, but if you are playing with group calendars, then it will not help. It appears that O365 is creating "clone" events to user calendar. Try modifying it from Outlook (at least tried online version) and you will see, that now you have two different events - one in user's calendar, another in a group. Kind of weird logic, but probably it has some rationale. What is really bad - it seems there is no way to get "master" instance of group event (having personal event "clone").
Yes you achive this without using Beta API.
https://graph.microsoft.com/v1.0/me/events/<event-id>
you can also apply a filter in this
https://graph.microsoft.com/v1.0/me/events/<eventid>/?startDateTime=<startDate> &endDateTime=<endDate>
You're right, the API doesn't currently expose this. I think it's a good suggestion though, you should post feedback at http://officespdev.uservoice.com/.