问题描述
我一直在使用 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 数据构建的摘要),该仪表板显示用户日历集合的概述,但如果需要更多信息,则允许您跳转到任何个人用户的完整日历。
解决方法
发布到网络。按照这个:
基本上
- OWA -> 设置
- 日历 -> 共享日历
- 发布日历 -> 复制 HTML