如何检测最后一个条目,youtube gdata search api

时间:2013-02-06 09:15:46

标签: iphone search youtube-api

我使用youtube搜索API为我的iPhone应用程序。我一次要求25条记录。

     https://gdata.youtube.com/feeds/api/videos?q=%s&start-index=%d&max-results=25&v=2 

我想检测一下,查询捕获的最终记录。

ex: - 认为“阿凡达电影”有135个结果,在第135个记录中,我想不再显示搜索结果。

我在视频列表的末尾使用“更多”按钮。我想禁用更多按钮。

2 个答案:

答案 0 :(得分:1)

如果您使用Data API v3,当您搜索'时,您将获得&page 39.PageInfo.totalResults'。 你可以检查一下,然后你可以查看nextPageToken'为null,这是最后一页。

' https://developers.google.com/youtube/v3/docs/search/list#response'

答案 1 :(得分:1)

对于版本2 API,您可以通过两种方式检测最后一项:

<强> 1

<openSearch:totalResults>108</openSearch:totalResults>

如果您知道总数,则可以计算最后一项。

<强> 2。是否返回了下一个链接标记,例如<link rel='next' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/videos?q=rawangboy&amp;start-index=108&amp;max-results=1&amp;restriction=US&amp;safeSearch=strict&amp;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

或者更好的是,您可以按国家/地区提供限制,例如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>可能无法更正,如此屏幕截图所示(即使总数为108,也无法使用start-index 107) screeshot

  

搜索查询不允许超过1000的结果   这里   https://developers.google.com/youtube/2.0/reference#Limits_on_Retrieving_Results