【问题标题】:Errors accessing Shared/Room Calendars through Microsoft Graph API通过 Microsoft Graph API 访问共享/房间日历时出错
【发布时间】: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


    【解决方案1】:

    因此,如果其他人碰巧对此感兴趣,我想出了一种无需使用Calendars.ReadWrite.Shared 权限即可访问房间资源日历的方法。这允许您仅使用 Calendars.ReadWrite 权限来访问房间资源,方法是将它们移动到您正在验证的电子邮件的日历列表中。但是,它仅适用于您与之共享日历的特定帐户,因此不适用于必须适用于任何帐户的应用程序。这对我的用例来说已经足够了,但可能不适合你的用例。

    首先,找到或创建一个帐户,该帐户是您要使用的会议室资源日历的代理人,并且可以完全访问该日历。在该帐户上,单击您的个人资料图片下方下拉列表中的“打开另一个邮箱”。

    Open another mailbox location

    在随后的弹出窗口中,输入您要使用的房间资源日历的电子邮件地址。

    然后,在打开的新页面(应该是房间资源日历的Office帐户)上:

    • 导航到日历页面
    • 点击“分享”
    • 与您计划进行身份验证的帐户共享默认日历。

    然后登录该“身份验证”帐户,查看其电子邮件以获取共享日历的通知,然后单击“接受”。这将做的是将日历移动到经过身份验证的帐户的日历列表中,这意味着您只需调用https://graph.microsoft.com/v1.0/me/calendars 端点即可访问它。遗憾的是,您必须为每个想要访问的日历重复此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多