图 API 未返回用户的动态组

Graph API not returning dynamic groups for a user

当我通过 API 或 Graph Explorer 查询组时,我看到该用户被列为第一个用户。这是一个动态安全组。

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

但是,当我查询用户以获取其所有群组成员身份时,此动态群组未包含在群组列表中。

我已经尝试过 memberOf 和 transitiveMemberOf

https://graph.microsoft.com/v1.0/users/{userId}?$expand=transitiveMemberOf https://graph.microsoft.com/v1.0/users/{userId}?$expand=memberOf

我确实为用户取回了其他组,但不是这个动态组。是否缺少某些内容以使其包含所有用户的动态组?

如果您可以使用专门用于获取组成员资格的调用(而不是用户个人资料本身),则可以使用此 url 代替:

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

我自己测试了一下,能够抓取动态的组。我不完全确定仅使用 $expand 参数与 /memberOf 端点的区别,但这应该可以满足您的需求。

更新:此 url 将仅列出 DynamicMembership 组,以简化对预期响应的验证。它还使用 te beta api 而不是 v1.0.

https://graph.microsoft.com/beta/users/{user id}/memberOf/microsoft.graph.group?$count=true&$orderby=displayName&$filter= groupTypes/any(c:c+eq+'DynamicMembership')&$Select=displayName,groupTypes,membershipRule