Microsoft Graph REST API无法写邮件

时间:2019-11-26 21:09:19

标签: azure microsoft-graph

我正在使用graph rest api编写邮件草稿。

首先,我使用https://graph.microsoft.com/.default范围调用了authorize方法:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=MY_CLIENT_ID&response_type=code&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient&response_mode=query&scope=https://graph.microsoft.com/.default

使用获得的代码,我调用了具有相同作用域的令牌方法:

https://login.microsoftonline.com/common/oauth2/v2.0/token

使用此令牌,我可以毫无问题地获取消息,但是当我尝试通过调用https://graph.microsoft.com/v1.0/me/messages/创建草稿时,出现以下错误:

{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again.",
    "innerError": {
      "request-id": "7fafbb5a-ab6d-4dbc-bb73-69d58b00f7ac",
      "date": "2019-11-26T20:48:24"
    }
  }
}

如文档(https://docs.microsoft.com/en-us/graph/api/user-post-messages?view=graph-rest-1.0&tabs=http中所述),我已经在注册的Azure应用中设置了Mail.ReadWrite权限,并获得了管理员的同意。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

我检查了Graph日志,并且对Microsoft Graph的调用没有Mail.ReadWrite权限。您可以尝试在您的隐式身份验证流调用中而不是.default中将该权限添加到scope查询参数中吗? (如果需要多个权限,可以在范围参数中将它们全部列出,并用空格分隔)