如何获取共享 O365 日历的 URL?

问题描述

我一直在使用 Graph API 来访问组织内的共享日历和事件。

我可以成功查询我的组织用户和任何这些用户的日历/事件。我现在想要做的是生成一个 URL,允许您直接跳转到 Outlook 网络会话(例如 - https://outlook.office365.com/calendar/)到特定用户的日历(您可以访问)。

我可以看到 Events 有一个“WebLink”属性,允许您使用日历事件执行此操作,但我找不到任何说明如何以相同方式跳转到日历的文档。

我确实发现了一些旧的东西,暗示旧学校 OWA 曾经允许这样做,但这些 url 看起来不再有效。

我还尝试将您与外部电子邮件地址“共享”日历时提供的 URL 分开,并向他们发送“单击此处添加日历,或此处查看网络视图”等电子邮件。这看起来很有希望,因为它实际上确实提供了指向日历网络版本的直接链接;但它在 URL 中包含一些我无法弄清楚的字段(很可能是外部用户身份验证),因此我无法对其进行逆向工程以使用我在 Graph API 中提供的信息构建一个

URL 格式为: https://outlook.office365.com/owa/calendar/<userid>@<domain>/<52CharacterHex_ProbablyAHashedTokenForTheExternalUsersAuth>/<WindowsUserSID_ProbablyToRepresentTheExternalUserOrProxyAccessEntity>/reachcalendar.html

其他人对我如何启动另一个使用日历的网络会话(我有权访问)有任何想法吗?最终,我正在做的是创建一个小型管理仪表板(使用通过 Graph API 数据构建的摘要),该仪表板显示用户日历集合的概述,但如果需要更多信息,则允许您跳转到任何个人用户的完整日历。

解决方法

发布到网络。按照这个:

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

基本上

  • OWA -> 设置
  • 日历 -> 共享日历
  • 发布日历 -> 复制 HTML