我正在尝试使用odata过滤器过滤由MS Graph API的managedDevices端点返回的一组数据。
发送不带过滤器的请求将获得预期的结果。
GET https://graph.microsoft.com/beta/deviceManagement/managedDevices
返回此响应:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#deviceManagement/managedDevices",
"@odata.count": 5,
"value": [
{
"id": "kj23kj4-0d47-34f3-8ff0-6b5sdfsdf3332f",
"userId": "asdfasw-1b48-436d-aa42-3werwer2344",
"deviceName": "some_device_name_9/16/2020_6:31 PM"
...
当我发送以下任何请求时,我得到的响应完全相同,有5个结果:
GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$filter=id eq 'kj23kj4-0d47-34f3-8ff0-6b5sdfsdf3332f'
GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$filter=id in ('lksjdf...','qwerqwer...')
GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$filter=ownerType ne 'personal'
我没有在uservoice上看到它是其他人特有的问题。显然,它们也没有明确指出特定端点不支持的odata查询参数。例如,$ select可以在此端点上运行。
对于这个问题,我在我这边测试也不能做过滤器。而且odata url是正确的,因此我认为该字段id
并非旨在进行过滤。
如果您想使用做过滤id
,则可以https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/{id}
直接使用。它可以使用特定的“ id”获得结果,也许这就是为什么id
不将字段设计为进行过滤的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句