【问题标题】:How to paginate all Youtube Data API search results如何对所有 Youtube Data API 搜索结果进行分页
【发布时间】:2016-09-04 07:19:44
【问题描述】:

我正在使用 Youtube Data API 通过搜索查询来搜索即将发生的事件。

具体查询是 https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&eventType=upcoming&q=vs&type=video&key={api_key}

返回的 pageInfo.totalResults 为 ~150272

虽然当我尝试对它们进行分页时,我只通过了 147 个项目,直到响应中的 items 数组为空,并且 nextPageToken 在每个响应中都是相同的,因此我继续循环尝试获得更多结果(吃增加我的 API 配额)并且没有返回。这是一个错误吗?

【问题讨论】:

  • nextPageToken 应该不一样,不知道问题出在哪里。但我认为您可以使用maxResults 稍微改进一下查询。默认情况下为 5。您可以请求的最大值为 50。
  • 我同意。这不会改变行为,但有趣的是,在运行更多测试后,页面标记在卡住时具有特定的值,即使对于不同的搜索参数也是如此。特别是prevPageToken: CP8BEAEnextPageToken: CLECEAAprevPageToken: CJUDEAEnextPageToken: CMcDEAA

标签: youtube pagination youtube-api youtube-data-api


【解决方案1】:

您可以参考这个document - Paging through results,API 响应使用link 标记来识别供稿中上一页和/或下一页条目的pagination 链接。为避免分页问题,​​官方文档建议您查看这些链接,以使用户能够链接到 API 结果的不同页面。

API 使用 start-indexmax-results 请求参数来确定要包含在 API 响应中的结果。此外,API 响应使用 标记来估计提要中的条目总数。

<openSearch:startIndex>26</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<openSearch:totalResults>107</openSearch:totalResults>

【讨论】:

  • 我想您可能指的是 Data API v2.0。该链接现在重定向到 v3 文档,它们不引用任何 start-indexmax-results 属性
猜你喜欢
  • 2018-11-17
  • 2021-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 2016-06-13
相关资源
最近更新 更多