azure-active-directory - Microsoft Graph - 如何为用户扩展属性“过滤”
问题描述
使用 microsoft graph api 并偶然发现了由于某种原因失败的查询。
https://graph.microsoft.com/v1.0/users?$top=5&$select=displayName,id,extension_{ID}_ContactId&$filter=extension_{ID}_ContactId in ('11223344-5c2f-4b4d-94f6-d9a4ac441d75', '55667788-5c2f-4b4d-94f6-d9a4ac441d75')
回复:
{
"error": {
"code": "InternalServerError",
"message": "Value cannot be null.\r\nParameter name: elementType",
"innerError": {
"date": "2021-02-23T12:56:42",
"request-id": "592915ae-c174-44e3-a4ca-9298e16bc3c6",
"client-request-id": "592915ae-c174-44e3-a4ca-9298e16bc3c6"
}
}
}
然而,比较单个值似乎工作得很好:
https://graph.microsoft.com/v1.0/users?$top=5&$select=displayName,id,extension_{ID}_ContactId&$filter=extension_{ID}_ContactId eq '46450218-5c2f-4b4d-94f6-d9a4ac441d75'
使用...&$filter=displayName in ('value1', 'value2')
- 也可以按预期工作。
有人可以指出一个有意义的线索来解决 elementType 的错误吗?
解决方案
错误信息没有意义。
基于过滤器文档:
注意:对这些运算符的支持因实体而异。
扩展属性实体目前不支持in
逻辑运算符。
如果我们in
在 Azure AD Graph 中使用相同的运算符,它将显示Syntax error
.
不难得出一个in
尚未得到支持的结论。
你可以extension_{ID}_ContactId eq 'value1' or extension_{ID}_ContactId eq 'value2'
改用。
推荐阅读
- time - 视域上的局部视恒星时与 MICA 之间的差异
- java - Jackson XML 到 JSON 的转换:如何通过在转换过程中保留内部值来排除 XML 中的特定标签?
- javascript - 来自分页 API 的过滤 axios 结果数组为空
- hl7-fhir - FHIR 从业者的工作量/能力
- python - 通过数据集写入 csv 文件(包括标题)
- eloquent - Laravel 关系正在被插入到集合中
- java - 数组不复制另一个数组
- javascript - 在自托管 wordpress 网站中使用 puppetter 获取 url 请求,并从主机嵌入视频?
- logstash-grok - [serverity]MMDD 的自定义 Grok 模式
- azure-resource-manager - 将价值从一个步骤传递到 ARM 部署的下一步