Microsoft Graph HonorNonIndexedQueriesWarningMayFailRandomly过滤SharePoint Online列表时出错

时间:2018-03-08 09:42:10

标签: microsoft-graph sharepoint-online

我在SharePoint Online中使用ms-graph。 我有一个简单的列表,其中包含一个标题列和3个项目。

我使用以下ms-graph调用按标题过滤项目:

https://graph.microsoft.com/v1.0/sites/root:/lists/list-guid/items?expand=fields&filter=startswith(fields/Title,%27fig%27)

结果是一条错误消息:

  

字段“标题”无法在过滤器或orderby中引用,因为它未编入索引。提供“首选: HonorNonIndexedQueriesWarningMayFailRandomly ”标题以允许此操作,但请注意,此类查询可能会在大型列表中失败。

我知道此调用之前正在使用,当我使用SharePoint REST API时,我可以毫无问题地过滤列表。我也试过不同的租户。 另一个事实是,相同的调用在没有startswith过滤器的情况下工作。

几天前,我对同一个电话有不同的信息。

  

“字段'标题'无法在过滤器或orderby中引用,因为它未编入索引。请提供' allowthrottleablequeries '首选项以允许此操作,但请注意,此类查询可能会在大型列表上失败。 “

2 个答案:

答案 0 :(得分:6)

关于以下错误:

  

字段'标题'不能在过滤器或orderby中引用,因为它不是   索引。提供'首选:   HonorNonIndexedQueriesWarningMayFailRandomly'标题允许这样做,   但请注意,此类查询可能会在大型列表中失败。

在过滤时,至少有两个选项可用于超越此错误。

选项1.向SharePoint列添加索引

创建参与过滤的index to a SharePoint column后,不再出现错误。

enter image description here

选项2.附加标题Prefer:HonorNonIndexedQueriesWarningMayFailRandomly

当错误消息状态附加指定的标头以进行请求时,例如在Graph Explorer中:

enter image description here

答案 1 :(得分:0)

仅检查了Graph API Explorer,发现您可以使用allowthrottleablequeries而不是HonorNonIndexedQueriesWarningMayFailRandomly

尝试发送带有以下请求标题的请求

Prefer: allowthrottleablequeries