【问题标题】:Azure AD B2C Graph Api - how to get users with all groupsAzure AD B2C Graph Api - 如何获取所有组的用户
【发布时间】:2018-09-21 22:48:02
【问题描述】:

对于我的一个仪表板,我想显示所有用户及其(安全)组。

我可以很好地调用 Graph API(myorganization/usersmyorganization/groups)并使用 OData 查询过滤器对其进行查询,但问题在于扩展。

当我使用GET /myorganisation/users&expand=memberOf 时,我得到一个内部服务器错误。 (尝试了 1.0、1.6 和 beta API 版本)

当我使用 GET /myorganization/groups&expand=members 时,我得到了正确的响应,但扩展成员的列表最多有 20 个条目(由于 Graph API 限制)

这带来了一个问题,因为我不想让所有成员都一个一个地遍历他们的帐户以获取他们的组。这将花费太长时间(恐怕)并且会使我的应用程序非常聊天(对于屏幕上的 20 个用户,这意味着 21 个 API 调用)。

我想要一些关于如何做到这一点的指导。

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api azure-ad-b2c azure-ad-graph-api


    【解决方案1】:

    没有提供这样的 API,所以它不起作用。

    GET /myorganisation/users&expand=memberOf
    

    MemberOf上的graph api是针对特定用户的,而不是针对用户的(如果你想通过这个获取用户列表的memberof,你需要先获取用户列表并逐个请求memberOf)。

    GET https://graph.microsoft.com/users/{id | userPrincipalName}/memberOf
    

    当我使用 GET /myorganization/groups&expand=members 时,我得到了正确的 响应,但扩展成员列表最多有 20 个条目 (由于 Graph Api 限制)

    对于设计问题,您需要关注它或只需在UserVoice 上提交功能请求以进行改进。

    总结: 目前,获取用户列表,然后调用 Memberof api 是满足您要求的唯一方法。 为了性能,你不需要获取所有用户,而是使用 top/skip 来实现分页(这对于大多数应用程序设计来说都是很好的 UX)。

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-02
      • 2018-01-16
      • 2021-07-11
      相关资源
      最近更新 更多