使用 MS Graph API 按业务 phone 号码过滤用户失败
Filtering users by business phone number with MS Graph API fails
根据 MS Graph API documentation,businessPhones 支持在 $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。
根据 MS Graph API documentation,businessPhones 支持在 $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。