2017-12-04 3 views
1

私は次のように私のAzure ADに対してクエリを発行するために、.NETのMicrosoftグラフAPIを使用しています:ユーザフィルタで「サポートされていないクエリ」が発生するのはなぜですか?

var userRequest = _graphClient.Users.Delta(); 
var filter = "startswith(displayName,'K')"; 
var users = await userRequest.Request().Filter(filter).GetAsync(); 

フィドラーのトラフィックによると、これがどのように見えるのHTTP GETで結果:

GET /v1.0/users/microsoft.graph.delta?$filter=startswith(displayName,'K') 

応答:

400 Bad Request 
Content-Type: application/json 
Preference-Applied: odata.track-changes 

{ 
    "error": { 
    "code": "Request_UnsupportedQuery", 
    "message": "Unsupported query.", 
    "innerError": { 
     "request-id": "UUID", 
     "date": "2017-12-04T16:26:23" 
    } 
    } 
} 

私ものようなフィルタを試してみました

しかし、同じ400エラーが発生します。

フィルタを削除すると、クエリが正常に実行されます。

なぜこのフィルタは「サポートされていないクエリ」ですか?私がSupported queries, filters, and paging options文書で読んだことは、これらが有効なクエリであるように思えます。

答えて

0

エンドポイント/usersエンドポイントは$filter=startsWith()クエリパラメータをサポートしますが、/users/deltaエンドポイントはサポートしていません。 /deltaエンドポイントには、これを含む多くのクエリ制限があります。

+0

どこで '/ delta'エンドポイントのフィルタ制限を見つけることができますか?前述したように、私はまた単純な 'accountEnabled eq true'を試しましたが、それは同様のエラーで拒否されました。 '/ delta'でフィルタリングを行うことはできますか? – kspearrin

+0

正直言って、ここのドキュメントはかなり薄いです。 [デルタ概要](https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview#optional-query-parameters)で実際に言及する必要がありますが、それは ' $ filter'がベータエンドポイントに入ります。 –

+0

現時点では '/ delta'でフィルタリングが全くできないのですか? – kspearrin

関連する問題