使用youtube v3 API检索YouTube播放列表中的所有视频
我使用YouTube的v3 API检索播放列表的视频,并获得50项没有任何问题,这个链接: -
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId=PLB03EA9545DD188C3&key=MY_API_KEY
但视频数为100,即时只获得50.我如何获得接下来的50个项目? 我尝试启动索引,但它不适用于v3 API。 任何帮助表示赞赏。
YouTube Data API v3结果分页。 所以你需要为其他人得到结果的下一页。
基本上在你有nextPageToken的回应。
要获得剩余结果,请执行相同的确切呼叫,但将pageToken设置为您收到的令牌。
这是三个tokes
也可以使用设置最大页面大小
maxResults = 50 {允许值1至50}
如果你在页面1中,你将不会得到prevPageToken
但你得到nextPageToken
将此令牌传递给下一个请求
pageToken = {nextPageToken从上一个请求获取}
这样你可以导航到下一个页面试试YourSelf
编辑
好的,其他情况
如果你在任何其他页面不是冷杉或最后那么将有所有这些值
@Manoj:如果你在最后一页,你可以在下面找到你的答案
这是使用Python Youtube Client Lib在python中创建的一个小例子。这也借用了youtube API示例中的样板设置
""" Pull All Youtube Videos from a Playlist """
from apiclient.discovery import build
from apiclient.errors import HttpError
from oauth2client.tools import argparser
DEVELOPER_KEY = "YOURKEY HERE"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
def fetch_all_youtube_videos(playlistId):
"""
Fetches a playlist of videos from youtube
We splice the results together in no particular order
Parameters:
parm1 - (string) playlistId
Returns:
playListItem Dict
"""
youtube = build(YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=DEVELOPER_KEY)
res = youtube.playlistItems().list(
part="snippet",
playlistId=playlistId,
maxResults="50"
).execute()
nextPageToken = res.get('nextPageToken')
while ('nextPageToken' in res):
nextPage = youtube.playlistItems().list(
part="snippet",
playlistId=playlistId,
maxResults="50",
pageToken=nextPageToken
).execute()
res['items'] = res['items'] + nextPage['items']
if 'nextPageToken' not in nextPage:
res.pop('nextPageToken', None)
else:
nextPageToken = nextPage['nextPageToken']
return res
if __name__ == '__main__':
# comedy central playlist, has 332 video
# https://www.youtube.com/watch?v=tJDLdxYKh3k&list=PLD7nPL1U-R5rDpeH95XsK0qwJHLTS3tNT
videos = fetch_all_youtube_videos("PLD7nPL1U-R5rDpeH95XsK0qwJHLTS3tNT")
视频将成为连接到第一个列表的所有视频的列表。 它将继续提取,直到它将所有视频分成50个分页。其他语言也可以采用类似的方法。
在列表中将会有所有的个人视频元数据和订单
链接地址: http://www.djcxy.com/p/28949.html上一篇: Retrieve all videos from youtube playlist using youtube v3 API