首页 文章

如何筛选使用Microsoft Graph查询的Sharepoint列表项

提问于
浏览
2

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

我的查询工作正常 . Items.Request().Expand("fields").GetAsync(); 但是,如果我添加过滤器,它将无法按预期工作 .

我尝试了两种方法:

  • 添加 .Expand("fields").Filter("fields/Archived eq false").GetAsync(); 这有效,但返回所有列表项而不进行过滤 .

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

什么工作是 ("fields($select=Archived)") ,但当然,没有进行过滤 .

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

2 回答

  • 2

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

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

    经过对这个问题的太多研究后,我发现下面的解决方案及其对我的工作正常:

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

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

相关问题