使用 C# 在 Microsoft Graph 查询中使用过滤器时出现问题

Trouble with filter in Microsoft Graph query using C#

我在将以下 Microsoft Graph 剩余查询转换为 C# 时遇到问题。图表浏览器中的以下作品:

https://graph.microsoft.com/v1.0/sites/{siteid}/lists/{listid}/items?$expand=fields&$filter=fields/Recruit_x0020_Status eq 'Initial Discussion'

到目前为止,我有以下不起作用:

    var options = new List<QueryOption>()
    {
        new QueryOption("expand", "fields"),
        new QueryOption("filter", "startswith(Recruit_x0020_Status', 'Initial')")
    };

    var list = await _client
        .Sites[siteId]
        .Lists[listId]
        .Items
        .Request(options)
        .Header("Prefer", "HonorNonIndexedQueriesWarningMayFailRandomly")
        .GetAsync();

返回的错误非常笼统,没有帮助:

ServiceException: Code: generalException
Message: General exception while processing

我尝试通过 .Filter("startswith(Recruit_x0020_Status,'Initial')") 将过滤器直接添加到链式流畅查询中,但我收到有关错误过滤器子句的错误消息。

我在这里错过了什么?任何帮助将不胜感激。

您的 QueryOptionstartswith 中缺少 fields 属性 名称并且在 Recruit_x0020_Status' 中也有错字。字符 '.

new QueryOption("filter", "startswith(Recruit_x0020_Status', 'Initial')")

应该是

new QueryOption("filter", "startswith(fields/Recruit_x0020_Status, 'Initial')")

通常 url 看起来像这样

GET https://graph.microsoft.com/v1.0/sites/{siteid}/lists/{listid}/items?$expand=fields&filter=startswith(fields/Recruit_x0020_Status,'Initial')