如何通过YouTube API获取播放列表中超过5个视频?
解决YouTube API仅返回5个播放列表视频的问题
这事儿我太熟了!YouTube Data API的playlistItems端点默认只返回5条结果,要拿到你播放列表里的100多个视频,得靠两个核心参数配合:
maxResults参数:用来设置单次请求返回的最大视频数量,默认是5,上限是50。你可以在请求URL里加上这个参数,把单次获取的数量拉满,比如:GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=你的播放列表ID&key=你的API密钥&maxResults=50这样一次就能拿到50个视频,比默认的5个高效多了。
pageToken参数:就算设了maxResults=50,100+视频还是得分成好几页返回。第一次请求成功后,API的响应里会包含一个nextPageToken字段(如果还有更多结果的话)。你需要把这个token作为pageToken参数加到下一次请求里,比如:GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=你的播放列表ID&key=你的API密钥&maxResults=50&pageToken=上一次响应里的nextPageToken值重复这个过程,直到响应里不再出现
nextPageToken,就说明你已经获取到所有视频了。
另外要提一句:YouTube API有配额限制,每次请求会消耗对应的配额,所以别太频繁发起请求,避免触发配额限制导致请求失败。
内容的提问来源于stack exchange,提问作者Cyan




