首页 文章

如何使用Microsoft Graph API检查其他用户可用性?

提问于
浏览
0

我正在尝试在O365日历中实现特定用户(实际上是一个房间)的检查可用性 . 我正在使用微软推荐的Graph API .

我的第一种方法是在https://graph.microsoft.com/v1.0/me/findMeetingTimes上使用POST,并根据Graph API Explorer中给出的模板准备消息体 . 在API资源管理器上,一切似乎都运行良好,但当我尝试使用我的应用程序令牌运行完全相同的请求时,我收到403:

{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again.",
    "innerError": {
      "request-id": "b130177d-e138-4cc7-8e72-5d3529a9dc24",
      "date": "2017-03-21T08:47:10"
    }
  }
}

我检查了应用程序在AAD中的委派权限,它们似乎没问题 . 对于Microsoft Graph,这些被授予:

  • Calendars.ReadWrite.Shared

  • Calendars.Read.Shared

  • Calendars.ReadWrite

  • Calendars.Read

当我尝试简单地列出用户的事件时,我得到完全相同的响应(403):https://graph.microsoft.com/v1.0/users/ / events在Graph API Explorer 500中返回 .

我发现了以下错误描述:https://github.com/microsoftgraph/microsoft-graph-docs/issues/559(可能是this one too)它与上述问题有关吗?

我有什么可能做错的任何线索?

假设我仍然想使用oAuth进行授权,是否有其他方法可以使用不同的 endpoints 或API实现相同的目的?

我会感激任何提示


更新:Outlook Calendar API似乎工作 . 仍然感谢任何想法为什么Graph API没有?

1 回答

  • -1

    FindMeetingAPI 需要工作或学校帐户 . 如果您使用个人电子邮件ID登录,则可能无法登录 . 此外,您需要将权限设置为 Calendars.Read Calendars.Read.All Calendars.ReadWrite User.Read"

相关问题