使用 Microsoft Graph 处理外部(互联网/.ics)日历 URL API

Handling external (internet/.ics) calendar URLs using Microsoft Graph API

在新图表 API 中,是否可以基于外部 .ics 日历为用户创建新日历 URL?

我想做的是使用守护进程将外部日历的 link 注入到用户拥有的日历列表中,如果他们还没有这样的 link.这将有效地复制用户在 OWA 中可以手动执行的操作,方法是右键单击 "Other calendars",选择 "open calendar",然后粘贴到 .ics 日历文件的 URL。我想这样做是为了尝试解决 因为我实际上希望这些是用户的只读日历(并且还可以节省成千上万次 API 调用来注入单个事件在每个用户的日历中,当我们有成千上万的用户时,每个用户都必须维护数百个事件)。

我可以使用图表 API 调用:

获取https://graph.microsoft.com/v1.0/users/<user_id>/calendars

列出用户默认组中的所有日历,其中包括已在 OWA 中手动添加的外部日历。然后我可以再 API 获取日历中的事件:

获取https://graph.microsoft.com/v1.0/users/<user_id&gr;/calendars/<calendar_id>/events

从 ID 为 calendar_id 的外部日历中获取事件。一切正常。

但是我在图表 API 的 Calendar resource I can specify the URL for the external calendar when calling the Create Calendar method 中看不到位置。此外,由于外部 URL 没有出现在日历资源中,我无法轻松检查上面的日历列表中是否包含正确的外部日历。我所要做的就是 "name",当然用户可以自由更改它(当我查看学生日历的时间表时,他们几乎肯定会尝试 rename/remove/break 他们以有趣的方式)。

我是否遗漏了 API 中创建日历方法的某些选项,或者这是 Graph API 日历处理的另一部分尚未 design/implemented?

使用外部日历 ICS 源创建日历是一个不错的方案,但尚不支持。由于我们收到了多个要求通过我们的 REST API 执行此操作的能力的请求,我们正在研究它,但我现在没有时间表。目前,唯一的选择是使用 OWA 添加日历,是的,我知道这对您的情况没有帮助。