Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
如何从azure graph API获取用户列表_Azure_Api_Azure Active Directory - Fatal编程技术网

如何从azure graph API获取用户列表

如何从azure graph API获取用户列表,azure,api,azure-active-directory,Azure,Api,Azure Active Directory,我正在尝试使用graph api从azure广告中获取用户列表。我已通过以下查询获得访问令牌: https://login.microsoftonline.com/<tenant-Id>/oauth2/token 一旦我有了令牌,我将引用它并使用下面的url获取用户列表: 并在标头中传递令牌,但出现以下错误: { "error": { "code": "InvalidAuthenticationToken", "message": "Com

我正在尝试使用graph api从azure广告中获取用户列表。我已通过以下查询获得访问令牌:

https://login.microsoftonline.com/<tenant-Id>/oauth2/token
一旦我有了令牌,我将引用它并使用下面的url获取用户列表:

并在标头中传递令牌,但出现以下错误:

{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "CompactToken parsing failed with error code: 80049217",
        "innerError": {
            "request-id": "f03e6cc4-1888-406d-9ee4-2558b96e7fb4",
            "date": "2019-06-03T09:22:30"
        }
    }
}


我现在是从postman开始做这件事的,但后来不得不从python脚本开始做。谁能告诉我这里出了什么问题吗。谢谢

您可以按照以下步骤操作

1.在您的广告应用程序中->
API权限
->
添加权限
->选择
Microsoft Graph
->
应用程序权限
->
用户。阅读。所有
->单击
添加权限
->单击
授予xxx管理员许可

2.使用客户端凭据流获取访问令牌

3.然后您可以使用步骤2返回的令牌调用MS graph api,它应该可以工作


您似乎正在尝试使用Microsoft Graph获取
用户列表。为此,请参见以下步骤:

Azure门户权限:

转到azure门户租户并在
API权限
菜单上设置以下权限。请参见下面的屏幕截图:

请参见下面的应用程序权限:

对专用权限执行相同操作。请参见下面的专用权限

您的权限如下所示:

令牌请求:

使用凭据将请求发送到令牌端点。如下图所示:

解码令牌并检查权限:

获得代币后,请确保启用
https://jwt.io/
您的令牌包含如下所示的所需权限:

请求用户列表

在此阶段,将您的令牌添加到
键入
作为
承载令牌
将您的令牌粘贴到令牌文本框中,然后单击发送

获取用户列表:

您将获得下面屏幕截图中指定的用户列表


如果您还有任何问题,请随时与我们分享。谢谢,快乐编码

我还使用客户端凭据流获取令牌。我在问题中附上了它的截图。请让我知道如何使用该令牌进一步调用MS graph api。@SAndrew在我的回答中看到
步骤1
,您是否授予
用户.Read.All
对您的广告应用程序的权限?您能否解释步骤3。你在哪里加的那个标记。我对这个软件有点陌生Postman@SAndrew请参阅步骤3中的屏幕截图,单击
授权
->选择
承载令牌
->粘贴您的令牌
发送
,无需在标题中手动写入
授权
。当我单击
添加权限
并选择
Microsoft Graph
,它要求我获得
委托权限
应用程序权限
。我应该选择什么。?当我单击
添加权限
并选择
Microsoft Graph
时,它会要求我获得
委派权限
应用程序权限
。我应该选择什么?申请许可证我已经更新了答案,请检查屏幕快照我使用的令牌现在已经过期。我正在提交再次生成令牌的请求,但它给了我相同的令牌。很奇怪。你知道如何重新生成新的令牌吗?谢谢我让它工作了。只是想检查是否要创建用户,我需要在ad应用程序中设置user.ReadWrite.All权限。?
{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "CompactToken parsing failed with error code: 80049217",
        "innerError": {
            "request-id": "f03e6cc4-1888-406d-9ee4-2558b96e7fb4",
            "date": "2019-06-03T09:22:30"
        }
    }
}