You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询AzureAD特定组的所有用户?Graph API调用报错求助

获取特定Azure AD组里用户的正确方法

先掰明白问题:你之前调用的API完全搞反了方向——原请求是查某个用户属于哪些组,而你要的是查某个组里有哪些用户,这俩根本不是一回事。另外那个报错Resource '{id}' does not exist,大概率是你把组ID填到了用户ID的占位符里,Graph自然找不到对应的用户资源。

正确的API调用方式

1. 只获取组的直接成员(不含嵌套组内用户)

用这个请求:

GET https://graph.microsoft.com/v1.0/groups/{group-id}/members?$select=id,displayName,userPrincipalName
  • 把{group-id}替换成目标Azure AD组的ID,或者组的邮件别名(如果组有邮件属性)
  • $select后面可按需添加要返回的用户属性,比如ID、显示名、邮箱等

2. 获取组的所有传递成员(包含嵌套组内用户)

如果需要递归获取所有层级嵌套组里的用户,用transitiveMembers端点:

GET https://graph.microsoft.com/v1.0/groups/{group-id}/transitiveMembers?$select=id,displayName,userPrincipalName

3. 可选:筛选特定用户

要是想过滤用户(比如只看显示名包含"tier"的),添加$filter参数即可:

GET https://graph.microsoft.com/v1.0/groups/{group-id}/transitiveMembers/microsoft.graph.user?$filter=contains(displayName,'tier')&$select=id,displayName,userPrincipalName
  • 记得加上microsoft.graph.user限定,避免返回嵌套组、联系人等非用户类型的成员

权限要求

调用这些API需要以下权限之一,根据登录方式选择:

  • 应用权限:GroupMember.Read.All、Group.Read.All、Directory.Read.All
  • 委派权限:GroupMember.Read.All、Group.Read.All、Directory.Read.All

Postman测试注意事项

  1. 先配置好Azure AD的身份验证(比如OAuth 2.0),获取带有对应权限的访问令牌
  2. 务必把{group-id}替换成真实的目标组ID,不要保留占位符
  3. 如果使用$count参数,需要在请求头中添加ConsistencyLevel: eventual,否则会报错

内容的提问来源于stack exchange,提问作者Ria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:07:03