2

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

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

我可以使用 Graph 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 的外部日历中获取事件。这一切都有效。

但是,当在 Graph API 中调用Create Calendar 方法时,我看不到可以在Calendar 资源中指定外部日历的 URL 的位置。此外,由于外部 URL 没有出现在日历资源中,我无法轻松检查上面的日历列表中是否包含正确的外部日历。我所要做的就是“名称”,当然用户可以自由更改它(当我查看学生日历的时间表时,他们几乎肯定会尝试重命名/删除/破坏它们有趣方法)。

我是否缺少 API 中 Create Calendar 方法的某些选项,或者这是尚未设计/实现的 Graph API 日历处理的另一部分?

4

1 回答 1

2

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

于 2015-12-15T13:58:12.390 回答