过滤以Test_开头的AAD组时出现BadRequest错误及计数需求
问题解决方案
1. 修复BadRequest错误
你的请求触发错误的核心原因是错误地将$select参数嵌套进了$filter的条件语句中,Graph API的查询参数是通过&分隔的独立参数,不能用and将$select和$filter的条件绑定在一起。另外$select后的字段列表也不需要加括号。
正确的请求URL如下:
GET https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName, 'Test_')&$select=displayName,id,createdDateTime
2. 获取筛选后组的数量
可以通过两种方式获取符合条件的组总数:
- 直接获取总数:在请求中添加
$count=true参数,同时请求头必须包含ConsistencyLevel: eventual(这是Azure AD返回筛选计数的强制要求)。示例请求:
GET https://graph.microsoft.com/v1.0/groups?$filter=startswith(displayName, 'Test_')&$count=true Headers: ConsistencyLevel: eventual
响应里的@odata.count字段就是筛选后的组总数。
- 同时获取数据和总数:如果需要在获取组详情的同时拿到总数,只需在修复后的查询请求里加上
$count=true参数和对应的请求头即可,响应同样会返回@odata.count字段。
内容的提问来源于stack exchange,提问作者user001072
相关产品推荐
相关产品推荐

