【问题标题】:How to filter Sharepoint List Items Queried with Microsoft Graph如何过滤使用 Microsoft Graph 查询的 Sharepoint 列表项
【发布时间】:2018-02-08 17:58:10
【问题描述】:

我正在使用 .net SDK。尝试使用 Microsoft Graph 过滤大型列表,

我的查询使用 .Items.Request().Expand("fields").GetAsync(); 可以正常工作 但是,如果我添加一个过滤器,它不会按预期工作。

我尝试了两种方法:

  1. 添加.Expand("fields").Filter("fields/Archived eq false").GetAsync(); 可以,但会返回所有列表项而不进行过滤。

  2. 添加.Expand("fields($filter=Archived eq false)").GetAsync(); 这不起作用 - 它给了我一个错误,即展开、选择和过滤是唯一允许的查询。

起作用的是("fields($select=Archived)"),但当然没有过滤。

那么我们如何使用 Microsoft Graph 查询大型列表?

【问题讨论】:

    标签: c# sharepoint microsoft-graph-api


    【解决方案1】:

    您需要引用传递给过滤器的值:Fields/Archived eq 'false'(注意's):

    var result = graphClient
        .Sites["root"]
        .SiteWithPath("siteId")
        .Lists["listId"]
        .Items
        .Request()
        .Expand("Fields")
        .Filter("Fields/Archived eq 'false'");
    

    【讨论】:

      【解决方案2】:

      在对这个问题进行过多研究后,我发现了以下解决方案,并且对我来说效果很好:

      要过滤,您需要添加 Header 参数,如下所示: 首选:HonorNonIndexedQueriesWarningMayFailRandomly

      Graph api 如下: &$filter = Fields/Archived eq False

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-05
      • 2022-11-09
      • 2023-03-16
      • 2019-07-07
      相关资源
      最近更新 更多