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

Azure B2C租户下如何通过MS Graph API对组成员使用$filter?

在Azure B2C租户中通过Microsoft Graph API筛选组成员的解决方案

问题场景

执行以下Microsoft Graph API请求时,针对Azure B2C租户返回不支持查询的错误:

GET https://graph.microsoft.com/v1.0/groups/{id}/members?$count=true&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual

错误响应内容:

{
    "error": {
        "code":"Request_UnsupportedQuery",
        "message":"The specified filter to the reference property query is currently not supported.",
        "innerError":{
            "date":"2022-12-11T18:02:40",
            "request-id":"50ddfd29-3937-4bff-b84e-121a33149996",
            "client-request-id":"50ddfd29-3937-4bff-b84e-121a33149996"
        }
    }
}

核心原因是Azure AD B2C租户不支持$count和ConsistencyLevel: eventual这类高级查询参数,但直接在/users端点执行不带这些参数的同类筛选可以正常运行,需要找到适配B2C环境的组成员筛选方式。

可行解决方案

  • 先拉取全量成员再本地筛选:直接调用接口获取目标组的所有成员,再在本地代码中过滤符合条件的用户。请求示例:

    GET https://graph.microsoft.com/v1.0/groups/{id}/members
    

    拿到成员列表后,用代码逻辑(比如判断displayName前缀)筛选出目标用户。

  • 通过/users端点关联组筛选:利用/users端点支持$filter的特性,结合用户的memberOf属性关联组ID,同时完成属性筛选。请求示例:

    GET https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName, 'a') and /memberOf/$id eq '{group-id}'
    

    这种方式无需高级查询参数,直接在/users端点完成组归属和属性的双重筛选,适配B2C租户的限制。

  • 放弃$filter直接获取全量:如果坚持使用groups/{id}/members端点,只能去掉$count=true和ConsistencyLevel标头,但此时无法使用$filter,只能获取全量成员后再做处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:56:02