目前我正在试图拉约从YouTube用户上传的视频馈送数据。 该进料包含所有的由特定用户上传的视频,并且通过向请求从API被访问:
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads
其中username是谁拥有饲料的YouTube用户名。
但是,试图访问这比1000个视频长饲料,当我遇到的问题。 由于每个请求API可返回50个项目,我通过使用饲料和MAX_LENGTH START_INDEX如下迭代:
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?start-index=1&max-results=50&orderby=published
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?start-index=51&max-results=50&orderby=published
依此类推,增加每次调用START_INDEX 50。 这完美的作品,直到:
http://gdata.youtube.com/feeds/api/users/USERNAME/uploads?start-index=1001&max-results=50&orderby=published
在这一点,我收到一个400错误,通知我说,“你不能要求超出项目1000” 这严重地混淆了我,因为我假定查询将只退还50个视频:在最新发布的顺序1001至51年。 通过说完看了文档 ,我发现了这一点:
在结果数量和访问的结果限制
...
对于任何给定的查询,您将无法即使有比这更给检索超过1000分的结果。 如果您尝试检索超过1,000结果的API将返回错误。 因此,如果你的起始索引查询参数设置为1001或更大的值的API会返回一个错误。 如果启动指数和最大结果参数的总和比1001更高它也将返回一个错误。
例如,如果你设置起始索引参数值1000,则必须在max-results参数值设置为1,如果设置起始索引参数值980,那么你必须设置max-results参数值21或更小。
我在有关如何访问一个普通用户的1001个最后上传视频和超越以一致的方式,因为他们不能只用最大结果被索引并启动索引损失。 有没有人有如何避免这个问题提出有益的建议? 我希望我已经清楚地概述的困难!