首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当发送电子邮件时,Office365api ErrorAccessDenied访问被拒绝

当发送电子邮件时,Office365api ErrorAccessDenied访问被拒绝
EN

Stack Overflow用户
提问于 2017-01-24 22:00:30
回答 2查看 3K关注 0票数 0

我们有一个应用程序Azure,我们已经能够阅读用户的电子邮件到目前为止,经过大量的工作和挫折。

出于测试目的,我给了应用程序几乎完全访问权限(请参阅图像)。

),包括但不限于代表用户发送电子邮件、阅读用户电子邮件等等。我知道,除非需要,否则我们不需要给应用程序这样的访问权限,但这只是为了使发送电子邮件工作。

我有这个卷曲代码来测试发送电子邮件

代码语言:javascript
复制
 curl -i https://graph.microsoft.com/v1.0/me/sendmail -H 'Content-Type: application/json' -X POST -d '{"Message":{"Subject": hi", "Body": {"ContentType": "Text", "Content": "body"},"ToRecipients":[{"EmailAddress": {"Address": "alerts-noreply@mail.windowsazure.com"}}]},"SaveToSentItems": "true"}' -H 'Authorization: Bearer eyJ......TOKEN.....YlhaHbAFQ'

它给了我这个错误

代码语言:javascript
复制
{
  "error": {
    "code": "ErrorAccessDenied",
    "message": "Access is denied. Check credentials and try again.",
    "innerError": {
      "request-id": "4895f98f-c5a4-4083-867b-f6c7b4634b7f",
      "date": "2017-01-24T21:48:47"
    }
  }
}

如果应用程序拥有如此全面的访问权限,为什么应用程序会被拒绝呢?

令牌由以下代码获取:

代码语言:javascript
复制
   https://login.microsoftonline.com/f0263....0be3/oauth2/authorize?client_id=8a676..e4b6&redirect_uri=http://www.wrabc.com:8090/&response_type=code.

我请求你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-26 05:55:38

要执行发送消息的API,我们需要授予Mail.Send权限。如果在用户授予应用程序后更改权限,则用户需要通过重新授予更新权限。

另一种可能的重新授予方法是在输入授权请求时添加参数prompt=consent。有关请求中的参数的更多细节,您可以参考这里

票数 2
EN

Stack Overflow用户

发布于 2017-01-25 20:12:03

如果您在同意后添加了该权限,您可以尝试在https://myapps.microsoft.com/为用户删除该应用程序还是注册一个新的应用程序?那就签个名,再同意一次。它应该更新令牌的scp。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41839740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档