Microsoft Graph:在一个请求中列出所有用户及其组

Microsoft Graph: List all users and their groups in one request

我想列出所有用户。对于每个用户,我需要显示特定于该用户的角色和组。

我试过了:

https://graph.microsoft.com/v1.0/users?$expand=memberOf

但它给出的结果与以下内容完全相同:

https://graph.microsoft.com/v1.0/users

根据用户对象的文档 (http://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/user),我应该能够使用 memberOf 关系列出用户的角色和组。

我可以通过为每个用户执行一个请求(使用 https://graph.microsoft.com/v1.0/users/{user_id}/getMemberObjects)来为每个用户获取我需要的角色和组,但是它有点慢而且有点矫枉过正。

我错过了什么?

扩展用户实体的导航属性目前不适用于 Microsoft Graph 端点的生产 (v1.0) 版本。该功能在 beta 端点上可用。

此查询如您所愿:

https://graph.microsoft.com/beta/users?$expand=memberOf

功能何时从 beta 版转移到 v1.0 或它们是否会以当前形式出现没有时间表。

目前,您有 3 个使用 Microsoft Graph API 的选择。

Beta 端点

使用 beta 端点,但了解它的功能可能会发生变化。

多个图形调用

获取用户集合,然后根据需要为每个用户获取 memberOf。

https://graph.microsoft.com/v1.0/users/{id}/memberOf

https://graph.microsoft.com/v1.0/users/{user_id}/getMemberObjects

扩展群组成员

如果您想坚持使用 v1.0 端点并根据您的总体目标,您可以尝试以其他方式查找您想要的信息。获取群组集合并展开成员导航 属性。

https://graph.microsoft.com/v1.0/groups/?$expand=members