Microsoft图形 API - $search查询不会分页浏览所有结果



使用 $search 对 Microsoft Graph API 中的消息执行查询时,可以使用 odata.nextLink 参数(它本身包含一个 skiptoken)遍历响应的大量页面。

我注意到,对于某些搜索查询,我将在某个时候不会收到要遵循的nextLink属性,因此我无法继续加载结果集的下一页,尽管肯定有更多的结果要加载。我已经通过在 Outlook 中与其他过滤器查询进行比较来验证这一点。

重现步骤:

  1. 在 Graph 资源管理器中,输入以下查询:https://graph.microsoft.com/v1.0/me/messages?$search="to:[your email address]"&$top=25

  2. 加载结果时,单击@odata.nextLink的值以加载下一页

  3. 继续按照@odata.nextLink操作,直到结果中没有返回nextLink参数

  4. 您会注意到您尚未到达收件箱的开头(按时间顺序),但没有要遵循@odata.nextLink属性

我只能假设这是 API 的错误 - 我在文档中没有看到有关页面限制 (https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#UseODataqueryparametersSearchrequests) 的任何内容。

有人能帮忙吗?这个问题本质上使$search功能对我们毫无用处。

为了优化性能,默认情况下,此 API 目前最多返回 250 个搜索结果。听起来您可能正在分页到 250 个结果的末尾,此时不会有 nextLink。我们目前正在对 API 进行改进,因此很高兴听到此反馈并帮助我们确定修复事项的优先级(在这种情况下,允许你指定返回的最大结果数将有助于实现你的方案)。谢谢!

最新更新