通过Office 365 REST API访问共享日历(例如会议室)

时间:2015-06-25 16:22:37

标签: api rest calendar office365 shared

我使用Office 365 REST API访问我帐户的日历。 我想访问我的帐户可以访问的所有日历,特别是出现在"其他日历中的会议室日历"我的Office 365界面中的部分。

现在,如果我查询" https://outlook.office365.com/api/v1.0/me/calendars"端点,我只收到我拥有的日历,而不是会议室日历。

有关如何获取它们的任何线索(通过Office 365 REST API)?

2 个答案:

答案 0 :(得分:3)

以用户身份登录时,REST API不支持访问其他用户的日历。您可以使用client credentials model授予应用对组织中所有日历的访问权限,并以这种方式访问​​它们。

答案 1 :(得分:1)

我已经能够通过使用以下端点来执行我认为您正在询问的事项(使用office 365 API从与您的Outlook日历共享的日历中获取事件): / p>

.../api/v2.0/Users('PRIMARY_USER_ID')/Calendars('SHARED_CALENDAR_ID')/Events

我不确定此端点是否可以让您访问您可以部分访问的端点,但是您应该能够从已与Outlook / Office 365帐户直接共享的任何日历中获取事件/信息

  • 当您首次使用Outlook帐户登录并通过Microsoft的身份验证过程时,PRIMARY_USER_ID(我正在此处调用它)会作为响应对象的一部分返回给您。这不是您尝试访问的日历的ID,而是主日历(您可以在api/v2.0/me端点找到的日历)与其他日历共享的概念。我见过的所有ID都以一串字母和数字的形式返回。

  • CALENDAR_ID是您尝试从中获取活动的共享日历的ID。如果您向.../api/v2.0/me/calendars/发出请求,则可以为每个共享日历查看这些ID。这将返回与您共享的每个日历,有关所有者的信息以及' ID'那个日历。

如果您插入这些ID并向上面的网址发出请求,您应该能够从API获取日历事件。