我正在使用.NET Microsoft Graph API对我的Azure AD发出查询,如下所示:
var userRequest = _graphClient.Users.Delta();
var filter = "startswith(displayName,'K')";
var users = await userRequest.Request().Filter(filter).GetAsync();
根据Fiddler流量,这会导致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"
}
}
}
我甚至尝试过像:
这样的过滤器var filter = "accountEnabled eq true";
但同样发生400错误。
删除过滤器会导致查询成功。
为什么此过滤器会导致"不支持的查询"?从我在Supported queries, filters, and paging options文档中读到的内容来看,这听起来像是有效的查询。
答案 0 :(得分:0)
/users
端点支持$filter=startsWith()
查询参数,但/users/delta
端点不支持/delta
端点。 {{1}}端点有许多查询限制,包括此限制。