Reactjs &引用;NoPermissionsInAccessToken“;尝试使用Microsoft Graph API获取用户配置文件照片时+;阿达尔反应
我正在尝试使用Reactjs &引用;NoPermissionsInAccessToken“;尝试使用Microsoft Graph API获取用户配置文件照片时+;阿达尔反应,reactjs,azure,adal,Reactjs,Azure,Adal,我正在尝试使用https://graph.microsoft.com/v1.0/me/photo/$value端点,并按照说明操作。在我们的React应用程序中,我们使用的是React adal,因此我首先使用adalGetToken(authContext)获得了一个访问令牌https://graph.microsoft.com/”,然后用 axios.get("https://graph.microsoft.com/v1.0/me/photo/$value", { h
https://graph.microsoft.com/v1.0/me/photo/$value
端点,并按照说明操作。在我们的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>",
...
}
{
“@odata.context”:”https://graph.microsoft.com/v1.0/$metadata#users/$entity“,
“id”:“,
...
}
在Azure Portal中,我已委派用户。读取应用程序的权限:
可能是什么问题?您正在通过在本地调用不同于应用程序调用的端点(v1.0/me
)来验证令牌(v1.0/me/photo/$value
)
您可以使用和之类的工具手动验证访问令牌
根据@sruthi-j-msft-identity的评论,v1.0/me/photo
不适用于个人帐户。如果您正在使用个人帐户,请尝试在React应用程序中使用beta/me/photo/$value
。参考:
beta API包含预览功能,不应用于生产系统。根据文档,GET/me/photo“版本1.0中的此操作仅支持用户的工作或学校邮箱,而不支持个人邮箱。”我使用的是工作帐户根据错误,问题不在graph API中。请签入您的代币。对于API,您可以签入图形浏览器。我知道端点是不同的。我刚刚演示了至少有一些端点可以工作,所以我的令牌必须至少对此有效。我用的是工作账户