9

现在我正在使用这个链接

http://gdata.youtube.com/feeds/api/playlists/plalistID

从 YouTube 播放列表中检索视频。但问题是只有 25 个视频。但播放列表包含 100 个视频。如何从播放列表中获取所有视频?

4

2 回答 2

17

YouTube API v3

您需要请求PlaylistItems > 列表提要:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=PLVfin74Qx3tV8bgAhzbfDpnfPoGmJWAcn&key=YOUR_API_KEY

API 返回的 JSON 将包含以下属性:

  • nextPageToken
  • prevPageToken

在查询字符串参数中传递这些值之一pageToken以检索结果集中的下一个或上一个“页面”:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=PLVfin74Qx3tV8bgAhzbfDpnfPoGmJWAcn&pageToken=xxYYzz&key=YOUR_API_KEY

JSON 还包含pageInfo.resultsPerPagepageInfo.totalResults属性。


YouTube API v2 答案在这里

于 2012-11-15T22:07:09.650 回答
8

Youtube 让您每次请求最多获取 50 个条目。
响应包含一些<link>元素。如果还有更多记录要获取其中一条记录,则其形式为,<link rel='next' ...例如

<link
  rel='next'
  type='application/atom+xml'
  href='https://gdata.youtube.com/feeds/api/playlists/plalistID?start-index=26&amp;max-results=25&amp;v=2'
/>

搜索此元素并检索 href 属性指向的文档,直到响应没有<link rel='next'元素。

于 2012-11-13T09:49:25.980 回答