【发布时间】:2021-07-02 13:05:29
【问题描述】:
我想获取组的直接用户成员资格的计数。 这可以通过Advanced Queries 实现。我正在使用 Microsoft Graph SDK 和此代码来请求它:
var url = client
.Groups[groupId]
.Members
.AppendSegmentToRequestUrl("microsoft.graph.user/$count");
var requestbuilder = new GroupRequestBuilder(url, client);
var result = await requestbuilder
.Request()
.Header("ConsistencyLevel", "eventual")
.GetAsync();
应该相当于这个网址:
https://graph.microsoft.com/v1.0/groups/<groupId>/members/microsoft.graph.user/$count
带有标题:
ConsistencyLevel = eventual
请求似乎正常,但响应仅包含纯文本计数。这就是我认为 JsonReader 抛出错误的原因。 那么如何才能只得到这个纯文本结果值呢?
我尝试将 select 添加到查询中以跳过 JsonReader,但 lambda 只接受组属性...
await requestbuilder
.Request()
.Header("ConsistencyLevel", "eventual")
.Select(x => new { x })
.GetAsync();
【问题讨论】:
-
我在Graph Explorer 中运行了该查询,它返回文本/纯文本,而不是应用程序/json。所以,不要尝试用 JSON.NET 反序列化它,只需将其读取为字符串
-
@Crowcoder 我已经在我的问题中描述了这一点。问题是如何指示 C# SDK 不反序列化响应?
标签: c# azure-active-directory microsoft-graph-api microsoft-graph-sdks