azure - Microsoft Graph 访问 token 包含联系人 API 的错误权限

标签 azure api permissions azure-active-directory microsoft-graph-api

所以基本上我需要访问 Office 365 用户的联系人。 我使用 Microsoft 图形 API,并且可以通过 JSON 格式的 HTTP GET 成功获取所有联系人。但现在我正在尝试将 JSON 写入 https://graph.microsoft.com/v1.0/me/contacts具有 HTTP POST 的 API,但每次都会收到 403 - 权限被拒绝。所以我去了https://jwt.io/并检查了我的访问 token ,发现我没有写入联系人的权限。

我获得这些权限:

"scp": "联系人.读取 openid 配置文件用户.读取"

即使我只在 Azure 门户上的应用程序注册设置中设置了 Contacts.ReadWrite。

Permissions

我已尝试更新权限,但没有帮助。

最佳答案

如果您更改了权限,用户需要再次同意。

enter image description here

您可以通过 URL 请求强制用户同意,将 &prompt=consent 附加到身份验证请求 URL。

https://login.microsoftonline.com/{tenant}/oauth2/authorize?
client_id={your_client_id}
&response_type=code
&response_mode=query
&resource=https://graph.microsoft.com
&state=12345
&prompt=consent

或者您只是代表此目录中的所有用户授予同意。向所有用户授予管理员同意意味着最终用户在使用应用程序时不会显示同意屏幕。

enter image description here

关于azure - Microsoft Graph 访问 token 包含联系人 API 的错误权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888424/

相关文章:

azure - 您可以在不部署整个网站的情况下替换 Azure 网站中的选定文件吗?

api - 从 Swagger 元数据创建 Azure Api 应用程序

java - 在 Android 上读/写外部存储

java - 如何使用 Java 在 Windows 文件上设置 "modify"ACL

permissions - 如何在 Orchard CMS 中设置博客的权限?

azure - 无法使用 Azure Synapse 的数据流从 ADLS(csv) 转换并加载到专用 SQL 池

azure - 我从 GoDaddy 收到了用于设置 SSL 的 .crt .pem 和 .p7b 文件。如何使用 openssl 从它们生成 .pfx 文件

Azure SQL DB 分布计数

javascript - 如何在客户端 Javascript 中隐藏 API key

javascript - 通过用户输入城市名称检索邮政编码的最佳 API(仅限美国)?