在Microsoft Graph的一次调用中,是否有一种方法可以检索组织(包括每个用户所属的组)中的用户?
类似https://graph.microsoft.com/v1.0/users?$expand=MemberOf
此调用不返回成员组。如果我使用相同的URL调用beta端点,尽管我在响应中得到了成员组。 Beta端点的问题是它返回了很大的响应,我找不到将$expand
与$select
结合使用的方法,只能为每个用户和用户ID返回MemberOf
属性字段。
答案 0 :(得分:2)
此调用不返回成员组。如果我叫测试版 具有相同URL的端点,尽管我在响应中得到了成员组。 Beta端点的问题是它返回了很大的响应 而且我找不到将$ expand与$ select结合在一起的方法 返回每个用户和用户ID字段的MemberOf属性。
并非所有关系和资源都支持$expand
查询参数,$expand
仅受beta支持,并且通常为扩展关系返回最多20个项目。并非所有资源或关系都支持在扩展项目上使用$select
,我也在beta版中尝试了https://graph.microsoft.com/beta/users?$expand=memberOf($select=id,name)
,错误提示对此有效。有关详细信息,请阅读here。
答案 1 :(得分:1)
根据this document的介绍,“对于从目录对象派生的Azure AD资源(例如用户和组),$ expand仅受beta支持,通常为扩展关系返回最多20个项目”
根据我的测试,您可以在下面使用此API列出所有成员。
'GET /users/{id | userPrincipalName}/memberOf
因此,无法通过使用对Microsoft Graph的单个调用来检索包括每个用户都是其成员的组的组织中的用户。
答案 2 :(得分:0)
正如其他人所提到的,单个请求是不可能的。
为了检索我们组织的所有用户及其所属的组,我决定解决此问题
这将产生一个组列表,每个组都有一个直接或间接的所有用户的列表(用户可以是原始组所具有的组的成员)。如果需要的话,将其转换为用户列表以及每个用户所属的组的列表应该相对容易些。