【问题标题】:Azure Active Directory graph api : How to get users in the block of 1000, without using pagingAzure Active Directory graph api:如何在不使用分页的情况下获取 1000 个块中的用户
【发布时间】:2018-03-14 10:06:01
【问题描述】:

我正在使用 Azure AD 图形 API 来获取组织的所有用户。使用以下 get 请求获取所有用户

https://graph.windows.net/contoso.com/users?api-version=1.6

我可以在参数$skiptoken的帮助下使用分页检索用户

是否可以在不使用 $skiptoken 的情况下触发多个此类 GET 请求,并且每个 GET 请求将返回 1000 个用户。

例如
GET req 1 将检索从 1 到 999 的用户

GET req 2 将检索从 1000 到 1999 的用户

GET req 3 将检索从 2000 年到 2999 年的用户

简而言之,我想通过多个线程执行这些请求,而不是在使用“$skiptoken”时按顺序执行。

【问题讨论】:

    标签: azure-active-directory azure-ad-graph-api azure-ad-powershell-v2


    【解决方案1】:

    您无法通过其他方式实现这一目标。

    根据你的问题,我想我们可以用$top过滤用户,像这样:

    请求:

    GET https://graph.windows.net/myorganization/users?$orderby=displayName&$top=999&api-version=1.6

    它返回按显示名称排序的前 999 个用户的列表。

    但是,在过滤top 1999用户时,不能仅通过API过滤后面的1000-1999用户,需要自己过滤。 因为 AAD Graph API 不支持 $skip 之类的选项。

    但是通过这种方式,你可以找到第1000个用户是哪个用户,并得到其余部分用户。

    有关 Azure AD Graph API 中支持的查询、筛选器和分页选项的更多详细信息,您可以参考this document

    您也可以在this UserVoice Page 中发布您的想法。 Azure AD 团队将对其进行审核。

    希望这会有所帮助!

    【讨论】:

    • 感谢您的回复。 “但是通过这种方式,您可以找到第 1000 个用户并获取其余部分用户”-您的意思是,如果我知道第 1000 个用户的显示名称,那么我可以获取他之后的下 1000 个用户吗?怎么样?
    • 嗨,@sagar。这才是重点。它不能通过 API 进行。我不知道你的情况是什么。您需要自己找到第 999 个用户的显示名并读取以 1000 个用户开头的其余数据。 例如。将数据复制到文本并通过find 找到displayname。虽然这是一个艰难的方式......
    • @sagar 遗憾的是,您无法像那样并行获取实体,只能按顺序获取实体,您可能已经这样做了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多