vzh*_*nko 2 outlook-api microsoft-graph-api
我们已经实现了通过图形 API 发送电子邮件。
在微软应用程序https://apps.dev.microsoft.com 中,我们创建了应用程序并为此应用程序设置了权限“Mail.Send”。
对于身份验证,我们使用“无需用户即可访问”的方式。
我们通过这个 url 接收令牌:https : //login.microsoftonline.com/our_tenant/oauth2/v2.0/token 和 body 看起来像这样:
"client_id=app_id&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=app_secret_key&grant_type=client_credentials"
Run Code Online (Sandbox Code Playgroud)
使用此链接发送邮件:
https://graph.microsoft.com/v1.0/users/user_Email/sendMail
在带有电子邮件对象的正文 json 中。
当我们通过此方法发送电子邮件时,会收到带有文本“访问被拒绝。检查凭据并重试”的响应代码“403”。
在测试之前,我们已经创建了用于开发此集成的试用帐户。使用试用帐户,此过程非常完美。
你能帮忙解决当前的问题吗?也许我们忘记了某些事情或帐户有问题。
此致
每当您遇到这样的问题时,您有一个令牌并且您认为您应该可以访问某些东西,但是 API 返回 403,第一步应该是解析访问令牌。您可以为此使用https://jwt.io(或任何其他 JWT 解析器)。您要确认以下内容:
aud
权利要求被设定为https://graph.microsoft.com
tid
要求是您的Office 365租户的租户ID相匹配的GUIDroles
声明是您期望的范围数组。在你的情况下,它应该包括Mail.Send
scp
声明是一个字符串,其中包含您期望的范围。我的猜测是,您可能拥有一个根本没有roles
声明的令牌,如果管理员未提供同意,就会发生这种情况。您可以通过查看有关客户端凭据流的 Azure 文章的这一部分来解决此问题。
归档时间: |
|
查看次数: |
1410 次 |
最近记录: |