通过客户端凭据OAuth流

时间:2017-09-06 03:34:51

标签: azure graph oauth-2.0 office365 microsoft-graph

我需要在服务器到服务器环境中通过Microsoft Graph API访问资源室的事件,所以几个月前我跟着this指南。我创建了应用程序,设置了所需的与日历相关的应用程序权限,并使用管理员帐户成功同意权限。现在一切都工作了3-4个月没有问题。

但是,在没有更改任何内容之后,今天我从/v1.0/users/{resource room email}/events端点收到此回复:

{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again.",
    "innerError": {
      "request-id": "952955b5-562e-4fa6-8b0f-e381c8294fcd",
      "date": "2017-09-06T03:09:49"
    }
  }
}

这似乎是一个权限问题,因为/v1.0/users/{resource room email}/messages端点很好地返回资源室的消息(假设设置了权限)。

如果我使用CURL关注之前链接的指南,我可以复制该问题。

获取令牌:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
-d 'client_id=XXXXXX-XXXX-XXXX-XXXX-XXXXXXX&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=XXXXXXXXX&grant_type=client_credentials' \
'https://login.microsoftonline.com/{my tennant URL}/oauth2/v2.0/token'

尝试并获取事件:

curl -X GET -H "Authorization: Bearer {token}" 'https://graph.microsoft.com/v1.0/users/{resource room email}/events'

我收到与上面相同的错误。

有什么改变,我不知道会破坏这个功能吗? 谢谢你的帮助。

0 个答案:

没有答案
相关问题