4

有什么方法可以使用 YouTube API 检索 100 多个结果吗?

我可以使用此查询字符串检索多达 100 个结果: https ://gdata.youtube.com/feeds/api/videos ?q=football&orderby=relevance&start-index=1&max-results=10&v=2

但是当我尝试 https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&start-index=101&max-results=10&v=2

我得到: http://www.w3.org/2005/Atom' xmlns:openSearch=' http://a9.com/-/spec/opensearch/1.1/ ' xmlns:gd=' http://schemas. google.com/g/2005 ' gd:etag='W/"C0YFQHg9fyp7I2A9WhBVGUk."'>tag:youtube.com,2008:videos2013-04-26T01:51:51.667Zhttp://schemas.google.com/g/ 2005#kind' term=' http://gdata.youtube.com/schemas/2007#video '/>视频匹配:足球http://www.youtube.com/img/pic_youtubelogo_123x63.gif https://www. youtube.com'/>http://schemas.google.com/g/2005#feed' type='application/atom+xml' href=' https://gdata.youtube.com/feeds/api/videos? v=2 '/>http://schemas.google.com/g/2005#batch' type='application/atom+xml' href=' https://gdata.youtube.com/feeds/api/videos/batch?v=2'/>https://gdata.youtube.com/feeds/api/videos?q=football&start-index=101&max-results=10&orderby=relevance&v=2'/>https://gdata.youtube.com/feeds/api /videos?alt=atom-service&v=2'/>https://gdata.youtube.com/feeds/api/videos?q=football&start-index=91&max-results=10&orderby=relevance&v=2'/>YouTube http: //www.youtube.com/ http://gdata.youtube.com'>YouTube 数据 API10010110

据我了解,您可以使用 YouTube 搜索 API 获得 999 个结果。为什么这里限制为100?是否有解决方法让我获得超过 100 个结果?

谢谢!

4

6 回答 6

7

我无法谈论内部是否发生了某些变化,现在将 totalResults 限制在 100,但这似乎是当今普遍存在的问题。但是,如果您尝试使用 API 的 v3,这将不是问题:例如,此查询:

https://www.googleapis.com/youtube/v3/search?q=football&part=id&key=YOUR_DEVELOPER_KEY

会给你很多很多的总结果。使用 v3,您可以将 maxResults 参数设置为为每个响应返回最多 50 个视频,然后通过将 pageToken 参数设置为给定响应的“nextPageToken”属性来对响应进行分页。

于 2013-04-26T05:45:34.440 回答
1

像这样尝试https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&v=2 它将采用默认大小。当您使用起始索引和大小时,您正在使用分页机制。我想这就是这里的问题。不幸的是,Google youtube API 每个查询最多只能支持 50 个视频。它在文档中。999 个视频是视频源中可以包含的视频总数。不是它将查询的视频数量。不要误拿它,因为它会返回你所有的视频。您必须使用带有开始索引和大小的分页才能浏览所有视频。

于 2013-04-26T06:04:45.493 回答
1

你可以使用这个网址

https://www.googleapis.com/youtube/v3/search?q=football&part=id&key=YOUR_DEVELOPER_KEY&max-results=150

并且您可以轻松获得 100 多个结果

于 2013-04-26T13:00:14.220 回答
0

分页存在缓存/升级问题。

在这里检查这个答案。

正确分页浏览提要的方法是在没有起始索引的情况下对提要发出第一个请求,然后检查是否存在<link rel="next'...>,如果有,则使用该 URL 检索提要的下一页。

于 2014-04-06T23:17:41.690 回答
0

我对同样的问题感到困惑 - start-index > 100 的视频搜索查询不返回任何结果:

http://gdata.youtube.com/feeds/api/videos?v=2&q=skateboarding+dog&max-results=50&start-index=101

并且 start-index < 100 的查询仅返回最多 100 个视频:

http://gdata.youtube.com/feeds/api/videos?v=2&q=skateboarding+dog&max-results=50&start-index=90

给你10个视频。

您不应该能够访问搜索返回的前 100 个以外的结果吗?

于 2013-04-26T14:33:51.067 回答
0

我发现,如果您在对 API 的每次分页调用之间稍作停顿,它会返回 400 个结果,这意味着每页调用 1 次,每次调用之间间隔 2 秒。它适用于我的。如果您想获得更多,您必须关闭与 API 的连接并在一两分钟后重试。

于 2018-04-17T16:17:58.287 回答