我将 youtube search api 用于我的 iphone 应用程序。我一次请求 25 条记录。
https://gdata.youtube.com/feeds/api/videos?q=%s&start-index=%d&max-results=25&v=2
我想检测到查询捕获的最终记录。
例如:-认为“阿凡达电影”有 135 个结果,在第 135 条记录处我想表明没有更多的搜索结果。
我在视频列表末尾使用“更多”按钮。我想禁用更多按钮。
我将 youtube search api 用于我的 iphone 应用程序。我一次请求 25 条记录。
https://gdata.youtube.com/feeds/api/videos?q=%s&start-index=%d&max-results=25&v=2
我想检测到查询捕获的最终记录。
例如:-认为“阿凡达电影”有 135 个结果,在第 135 条记录处我想表明没有更多的搜索结果。
我在视频列表末尾使用“更多”按钮。我想禁用更多按钮。
如果您使用 Data API v3,当您“搜索”时,您将获得“pageInfo.totalResults”。你可以检查一下,你可以检查'nextPageToken'是否为空,所以这是最后一页。
' https://developers.google.com/youtube/v3/docs/search/list#response '
对于版本 2 API,您可以通过 2 种方式检测最后一项:
1.
<openSearch:totalResults>108</openSearch:totalResults>
如果您知道总数,则可以计算最后一项。
2.下一个链接标签是否返回,如<link rel='next' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/videos?q=rawangboy&start-index=108&max-results=1&restriction=US&safeSearch=strict&v=2'/>
但是,您需要safeSearch参数以确保<openSearch:totalResults>
它与您的最后一个项目索引等效,例如https://gdata.youtube.com/feeds/api/videos?q=rawangboy&start-index=108&max-results=1&v=2&prettyprint=True&safeSearch=none
或者更好的是,您可以按国家/地区/IP 进行限制,例如https://gdata.youtube.com/feeds/api/videos?q=rawangboy&start-index=108&max-results=1&v=2&prettyprint=True&safeSearch=strict&restriction=US
如果你没有放 safeSearch,<openSearch:totalResults>
可能不正确,如这个截图所示(start-index 107 不可用,即使总数为 108)
搜索查询不允许超过 1000 个的结果。如本文所述 https://developers.google.com/youtube/2.0/reference#Limits_on_Retrieving_Results 。