Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs &引用;NoPermissionsInAccessToken“;尝试使用Microsoft Graph API获取用户配置文件照片时+;阿达尔反应_Reactjs_Azure_Adal - Fatal编程技术网

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,您可以签入图形浏览器。我知道端点是不同的。我刚刚演示了至少有一些端点可以工作,所以我的令牌必须至少对此有效。我用的是工作账户