如何在Graph API中筛选至少有1个成员的租户组?
解决方案
无法直接通过服务端$filter筛选出包含成员的组,因为Microsoft Graph的Groups资源不支持在过滤条件中使用members/$count,这也是你收到Request_UnsupportedQuery错误的原因。
推荐使用以下高效方案实现需求:
方案一:单次请求获取成员计数,客户端筛选
发送请求时添加ConsistencyLevel: eventual请求头,同时通过$expand=members($top=0)获取每个组的成员数量(不会返回实际成员数据,避免数据冗余)。响应中每个组对象会包含members@odata.count字段,你可以在客户端过滤出该值≥1的组。请求示例:
GET https://graph.microsoft.com/v1.0/groups?$select=id,displayName&$expand=members($top=0)方案二:批量验证(效率较低)
若必须逐个检查组是否有成员,可使用Graph API的批量请求($batch)批量查询多个组的成员列表,减少HTTP请求次数,但整体效率远低于方案一。
内容的提问来源于stack exchange,提问作者jasperfirecai2
相关产品推荐
相关产品推荐

