使用 MS Graph API 按业务 phone 号码过滤用户失败

Filtering users by business phone number with MS Graph API fails

根据 MS Graph API documentationbusinessPhones 支持在 $filter 查询中使用 eq比较,就像imAddresses属性。

在检查 Microsoft 的 use query parameters 文档时,有一个示例,其中 imAddresses 属性 在集合过滤器中使用并且工作正常。

GET https://graph.microsoft.com/v1.0/users?$filter=imAddresses/any(s:s eq 'admin@contoso.com')

我的目标是列出在其 businessPhones 集合 属性 中具有特定 phone 号码的所有用户。 但是,当我尝试在类似查询中使用 businessPhones 属性 时,查询无法按预期工作。

GET https://graph.microsoft.com/v1.0/users?$filter=businessPhones/any(s:s eq '1234')

状态码:400

{
    "error": {
        "code": "Request_UnsupportedQuery",
        "message": "Unsupported or invalid query filter clause specified for property 'businessPhones' of resource 'User'.",
        "innerError": {
            "date": "2021-07-30T08:07:24",
            "request-id": "ac3923be-de11-448f-b2b5-245edc82d20e",
            "client-request-id": "ac3923be-de11-448f-b2b5-245edc82d20e"
        }
    }
}

关于我遗漏的任何想法?

您需要使用advanced query capabilities,这意味着您需要在您的请求中添加一个$count=true查询字符串参数和一个ConsistencyLevel=Eventual header。