我正在使用.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查询大型列表呢?
答案 0 :(得分:2)
您需要引用传入过滤器的值:Fields/Archived eq 'false'
(请注意'
s):
var result = graphClient
.Sites["root"]
.SiteWithPath("siteId")
.Lists["listId"]
.Items
.Request()
.Expand("Fields")
.Filter("Fields/Archived eq 'false'");
答案 1 :(得分:0)
经过对此问题的过多研究后,我发现以下解决方案及其对我的工作正常:
要过滤,您需要添加Header参数,如下所示: 首选:HonorNonIndexedQueriesWarningMayFailRandomly
Graph api如下: & $ filter = Fields / Archived eq False