2016-04-22 93 views
2

当使用$search对Microsoft Graph API中的消息执行查询时,可以使用参数odata.nextLink(其本身包含skiptoken )。

我注意到,对于某些搜索查询,我会在某些时候没有收到要跟随的nextLink属性,因此我无法继续加载结果集的下一页,尽管肯定会有更多的加载结果。我通过在Outlook中与其他筛选器查询进行比较来验证此情况。

重现步骤:

  1. 在图形浏览器,输入以下查询: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功能。

回答

1

为了优化性能,默认情况下,此API当前返回多达250个搜索结果。这听起来像你可能会分页到250结果的结尾,此时不会有nextLink。我们目前正在对API进行改进,所以能够听到这些反馈并帮助我们优先考虑我们修复的内容(在这种情况下,允许您指定返回结果的最大数量将有助于实现您的方案)是非常好的。谢谢!

+0

感谢您的回复玛丽,很高兴听到您正在进行改进。指定最大数量的结果会很有用,并且指定整个邮箱中的所有匹配也很有用。请随时告诉我任何增强功能,因为我真的很想尝试它们! –