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

问题描述:

我正在使用Office 365 REST API来访问我的帐户的日历。 我想访问我的帐户有权访问的所有日历,特别是出现在Office 365界面的“其他日历”部分中的会议室日历。访问共享日历(例如通过Office 365 REST API的会议室)

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

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

+0

你是怎么解决的?是否使用“管理服务应用程序”是唯一的方式(我没有足够的时间来开发它)?我的问题:http://stackoverflow.com/questions/35976578/outlook-calendar-rest-api-read-someone-elses-calendar感谢:) –

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

+1

链接被破坏,所以这里你去:http://blogs.msdn .COM/b/exchangedev /存档/ 2015/01/21 /建筑守护进程或服务,应用程序与 - 办公365信箱,日历和联系人的API-的oauth2客户端 - 凭据flow.aspx – lehtu

我已经能够做什么,我相信你问(使用Office 365的API从日历已与您的Outlook日历共享的事件)通过以下端点:

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

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

  • 的PRIMARY_USER_ID(正是我在这里调用它)回来找你,当您第一次使用您的Outlook帐户登录,而经过微软的身份验证过程中的响应对象的一部分。这不是您尝试访问的日历的ID,而是其他日历共享的主日历(您可以在端点api/v2.0/me处找到的日历)的想法。我所看到的所有ID都以一连串用破折号分隔的字母和数字的形式返回。

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

如果你在这些ID插上,并请求的URL上面,你应该能够得到日历事件从API回来。