【发布时间】:2017-03-13 10:25:32
【问题描述】:
我正在制作一个应用程序,该应用程序需要使用非管理员帐户访问 Office 365 实例中的共享/房间资源日历。我已经使用 V2 端点和 Auth Code Grant 注册了一个应用程序(在 Microsoft 应用程序注册门户中)。这成功地允许我登录,并给我一个具有Calendars.ReadWrite.Shared 范围的功能令牌。使用此令牌,我可以检索我自己的日历,以及已明确与我共享的日历(因此添加到 my 日历列表中)。所有这些都可以通过普通的Calendars.ReadWrite 范围来实现。
但是,我在请求访问任何其他共享日历(例如房间日历)时遇到错误。这是一个例子。如果我对https://graph.microsoft.com/beta/users/my-own-email@business.com/calendars 进行 GET 调用,它会成功返回我的日历列表。如果我对https://graph.microsoft.com/beta/users/meetingroom1.4@business.com/calendars 进行 GET 调用,我会收到 404(未找到)错误。任何其他用户都会出现同样的错误,而不仅仅是会议室。请注意,当我使用同一帐户在线登录 Office 365 时,我可以看到这些日历。
如果我要求事件而不是日历,则会出现不同的错误。如果我对 https://graph.microsoft.com/beta/users/meetingroom1.4@business.com/events 进行 GET 调用,我会收到 500(内部服务器)错误。
我已经检查了我能找到的关于这个问题的所有其他线程,这个来自 11 月的How to access shared calendars from Office REST API? 表示 Microsoft 端存在某种阻塞问题。它使用 Office REST API 而不是 Graph,但在后端,API 调用相同的东西。这个问题还在吗?或者,我是否缺少一些进一步的权限?我尝试在Calendars.ReadWrite.Shared 之上添加很多不同的权限,但没有一个可以修复它。有正确的组合吗?
非常感谢您的帮助,如果有任何其他信息对诊断有用,请告诉我。
【问题讨论】:
标签: outlook office365 microsoft-graph-api office365api outlook-restapi