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

如何通过Microsoft Graph API单次调用获取组内用户及所属组数量

单次调用获取组成员及用户所属组数量的实现

核心请求写法

直接在原组成员查询接口中结合$expand、$count参数和指定请求头,就能一次拿到所有需要的数据:

GET https://graph.microsoft.com/v1.0/groups/{id}/members?$select=id,displayName,userPrincipalName&$expand=memberOf($count=true)&$count=true

请求头必须包含:

ConsistencyLevel: eventual

结果解析

返回的每个用户对象里,memberOf字段会附带@odata.count属性,这个数值就是该用户当前所属的所有组的总数。示例返回片段:

{
  "id": "user-id-123",
  "displayName": "张三",
  "userPrincipalName": "zhangsan@contoso.com",
  "memberOf@odata.count": 3,
  "memberOf": [/* 组列表,可按需忽略 */]
}

只需判断memberOf@odata.count是否大于1,就能确定该用户是否属于多个组,避免误删操作。

注意事项

  • 权限要求:需要Group.Read.All或Directory.Read.All权限(委托/应用权限均可,根据调用场景选择)
  • 分页处理:如果组成员数量超过Graph API单页限制(默认100条),会返回@odata.nextLink,后续分页请求保持相同参数和请求头即可
  • 性能优化:若不需要具体组列表,可在$expand中添加$select=id减少返回数据量,比如$expand=memberOf($count=true,$select=id)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 23:03:12