如何使用youtube api从播放列表中获取所有视频?

cry*_*rid 8 php xml youtube youtube-api

现在我正在使用此链接

http://gdata.youtube.com/feeds/api/playlists/plalistID
Run Code Online (Sandbox Code Playgroud)

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

Sal*_*n A 14

YouTube API v3

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

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=PLVfin74Qx3tV8bgAhzbfDpnfPoGmJWAcn&key=YOUR_API_KEY
Run Code Online (Sandbox Code Playgroud)

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

  • nextPageToken
  • prevPageToken

pageToken查询字符串参数中传递其中一个值以检索结果集中的下一个或上一个"页面":

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=PLVfin74Qx3tV8bgAhzbfDpnfPoGmJWAcn&pageToken=xxYYzz&key=YOUR_API_KEY
Run Code Online (Sandbox Code Playgroud)

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


YouTube API v2答案就在这里.


Vol*_*erK 7

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'
/>
Run Code Online (Sandbox Code Playgroud)

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