1

I have been playing around with the Graph API to access the shared calendars and events within an organization.

I can successfully query my organization users and the calendar/events for any of those users. What I would like to do now is to generate a URL allowing you to jump to an outlook web session (eg - https://outlook.office365.com/calendar/) directly to a particular user's calendar (that you have access to).

I can see that Events have a 'WebLink' property that allows you to do this with a calendar event, but I can't find any documentation that indicates how you could jump to a calendar the same way.

I did find some old stuff implying that the old school OWA used to allow this but those url's don't look like they work anymore.

I also tried to pull apart the URL's provided when you 'share' you calendar with an external email address and it sends them a 'click here to add the calendar, or here to see a web view' etc email. That looked kind of promising because it actually DOES provide a direct link to a web version of the calendar; but it it includes a few fields in the URLthat I can't figure out (more than likely the external user auth) so I can't reverse engineer it to build one with the info I have available in the Graph API.

URL was of the form: https://outlook.office365.com/owa/calendar/<userid>@<domain>/<52CharacterHex_ProbablyAHashedTokenForTheExternalUsersAuth>/<WindowsUserSID_ProbablyToRepresentTheExternalUserOrProxyAccessEntity>/reachcalendar.html

Anyone else got any ideas on how I can launch a web session of another uses calendar (that I have access to)? Ultimately what I am doing is creating a small management dashboard (using a summary built via Graph API data) that shows an overview of a collection of user's calendars but allows you to jump into the any individual user's full calendar if more info is required.

Nat Jacobs
  • 181
  • 2
  • 7
  • If you want to access the shared calendar using Microsoft Graph then [follow the steps/documentation provided here](https://learn.microsoft.com/en-us/graph/outlook-get-shared-events-calendars). For example, GET https://graph.microsoft.com/v1.0/users/{Alex-userId | Alex-userPrincipalName}/calendar – Dev Feb 02 '21 at 18:32
  • That would get the API data for the users calendar; I am looking to get a URL to the users calendar that could be opened in the browser. – Nat Jacobs Feb 02 '21 at 22:21
  • Weblink might help but it wont help you to identify about other or shared calendars. Based on my experience AFAIK the Graph API won't provide you that nor its documented. If you find please do share. – Dev Feb 03 '21 at 06:21

1 Answers1

-1

Publish to the web. follow this:

https://support.microsoft.com/en-us/office/share-your-calendar-in-outlook-on-the-web-7ecef8ae-139c-40d9-bae2-a23977ee58d5

basically

  • OWA -> Settings
  • Calendar -> Shared Calendars
  • Publish a Calendar -> copy HTML
BrianU
  • 1