所以基本上我需要访问 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。
我已尝试更新权限,但没有帮助。
最佳答案
如果您更改了权限,用户需要再次同意。
您可以通过 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
或者您只是代表此目录中的所有用户授予同意。向所有用户授予管理员同意意味着最终用户在使用应用程序时不会显示同意屏幕。
关于azure - Microsoft Graph 访问 token 包含联系人 API 的错误权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56888424/