Jas*_*SFT 5 microsoft-graph-api
这是一个相当简单的问题,但我无法将httpClient
查询图表的基本方法转换为 SDK 方法。我正在使用以下内容并且工作正常:
var filter = "IT";
var response = await httpClient.GetAsync($"{webOptions.GraphApiUrl}/beta/groups?$filter=startswith(displayName, '{filter}')&$select=id,displayName");
Run Code Online (Sandbox Code Playgroud)
...现在我尝试使用 SDK 进行过滤,如下所示:
var groups = await graphServiceClient.Groups
.Request()
.Filter($"displayName startswith {filter}")
.Select("id, displayName")
.GetAsync();
Run Code Online (Sandbox Code Playgroud)
我也尝试过.Filter($"startswith("displayName", {filter}))
其他变体。
我收到invalid filter clause
错误。有任何想法吗?
显然,出现这种情况是因为为方法提供的过滤表达式Filter
无效,可以这样验证:
var message = graphServiceClient.Groups
.Request()
.Filter($"displayName startswith '{filter}'")
.Select("id, displayName").GetHttpRequestMessage();
Run Code Online (Sandbox Code Playgroud)
生成的message.RequestUri
将返回以下值:
https://graph.microsoft.com/v1.0/groups?$filter=displayName startswith '{filter}'&$select=id, displayName}
Run Code Online (Sandbox Code Playgroud)
需要像这样指定有效的过滤器表达式:
.Filter($"startswith(displayName, '{filter}')")
Run Code Online (Sandbox Code Playgroud)
如果你想切换到类beta
的版本GraphServiceClient
,可以这样指定:
graphServiceClient.BaseUrl = "https://graph.microsoft.com/beta";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5367 次 |
最近记录: |