Microsoft Graph API - $search 查询不会对所有结果进行分页
Microsoft Graph API - $search queries do not page through all results
当使用 $search
对 Microsoft Graph API 中的消息执行查询时,可以使用 odata.nextLink
参数(它本身包含一个skiptoken).
我注意到对于某些搜索查询,我有时不会收到 nextLink
属性 跟随,因此我无法继续加载结果集的下一页,尽管肯定有更多的结果要加载。我已通过在 Outlook 中与其他筛选器查询进行比较来验证这一点。
重现步骤:
在 Graph Explorer 中,输入以下查询:https://graph.microsoft.com/v1.0/me/messages?$search="to:[your email address]"&$top=25
加载结果时,点击@odata.nextLink
的值加载下一页
继续跟随@odata.nextLink
直到结果中没有返回nextLink
参数
您会注意到您还没有到达收件箱的开头(按时间顺序)但是没有 @odata.nextLink
属性 可以跟随
我只能假设这是 API 的错误 - 我在文档中没有看到任何关于页数限制的信息 (https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#UseODataqueryparametersSearchrequests)。
有人能帮忙吗?这个问题基本上使 $search
功能对我们无用。
为了优化性能,此 API 目前 returns 默认情况下最多有 250 个搜索结果。听起来您可能正在分页到 250 个结果的末尾,此时不会有 nextLink。我们目前正在对 API 进行改进,因此很高兴听到此反馈并帮助我们确定修复问题的优先级(在这种情况下,允许您指定返回的最大结果数将有助于您实现您的方案).谢谢!
当使用 $search
对 Microsoft Graph API 中的消息执行查询时,可以使用 odata.nextLink
参数(它本身包含一个skiptoken).
我注意到对于某些搜索查询,我有时不会收到 nextLink
属性 跟随,因此我无法继续加载结果集的下一页,尽管肯定有更多的结果要加载。我已通过在 Outlook 中与其他筛选器查询进行比较来验证这一点。
重现步骤:
在 Graph Explorer 中,输入以下查询:
https://graph.microsoft.com/v1.0/me/messages?$search="to:[your email address]"&$top=25
加载结果时,点击
@odata.nextLink
的值加载下一页继续跟随
@odata.nextLink
直到结果中没有返回nextLink
参数您会注意到您还没有到达收件箱的开头(按时间顺序)但是没有
@odata.nextLink
属性 可以跟随
我只能假设这是 API 的错误 - 我在文档中没有看到任何关于页数限制的信息 (https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#UseODataqueryparametersSearchrequests)。
有人能帮忙吗?这个问题基本上使 $search
功能对我们无用。
为了优化性能,此 API 目前 returns 默认情况下最多有 250 个搜索结果。听起来您可能正在分页到 250 个结果的末尾,此时不会有 nextLink。我们目前正在对 API 进行改进,因此很高兴听到此反馈并帮助我们确定修复问题的优先级(在这种情况下,允许您指定返回的最大结果数将有助于您实现您的方案).谢谢!