![](/img/trans.png)
[英]How to filter response with query parameters on POST methods on Microsoft Graph API?
[英]Microsoft Graph API odata $filter query does not appear to work
我正在嘗試使用 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
沒有被設計為過濾的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.