【发布时间】:2020-05-29 23:35:48
【问题描述】:
我正在尝试使用https://graph.microsoft.com/v1.0/me/photo/$value 端点并按照these 说明获取用户的个人资料照片。在我们的 React 应用程序中,我们使用 react-adal,所以我首先使用 adalGetToken(authContext, "https://graph.microsoft.com/") 获得了访问令牌,然后使用
axios.get("https://graph.microsoft.com/v1.0/me/photo/$value", {
headers: {
Authorization: `Bearer ${token}`,
},
})
但是,响应是
{
"error": {
"code": "NoPermissionsInAccessToken",
"message": "The token contains no permissions, or permissions can not be understood.",
"innerError": {
"request-id": "d2ed76f0-7f35-4014-bc53-xxxxxxxxxxxx",
"date": "2020-05-29T09:27:12"
}
}
}
当我使用相同的令牌调用https://graph.microsoft.com/v1.0/me 时,我得到了正确的响应,例如
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"id": "<id>",
...
}
在 Azure 门户中,我已为应用程序委派了 User.Read 权限:Image of the permissions
可能是什么问题?
【问题讨论】:
-
根据文档,GET /me/photo "1.0 版本中的此操作仅支持用户的工作或学校邮箱,不支持个人邮箱。"
-
我正在使用工作帐户
-
根据错误,问题出在令牌中,而不是来自图形 API。请在jwt.ms 中检查您的令牌。对于 API,您可以签入图形资源管理器。