Youtube API获取所有播放列表项,而不是每个播放列表中默认加载的最大26项



我正在尝试从Youtube播放列表中获取视频。我设法在播放列表中只获得了26个,其中有50多个视频。我注意到Youtube默认情况下只加载26个视频,其他视频则通过向下滚动播放列表加载到页面。示例

问题是nextPageToken在第二次请求时未定义,但通过手动转到播放列表,您可以加载更多视频。

有没有办法从播放列表中获取剩余的视频?

以下是我正在做的:JSFiddle

function getVids(playlistId, nextPageToken){
    $.get(
        "https://www.googleapis.com/youtube/v3/playlistItems",{
        part : 'snippet', 
        maxResults : 20,
        playlistId : playlistId,
        pageToken: nextPageToken,
        key: '{API_KEY}'},
        function(data) {
            console.log(data.nextPageToken);
            console.log(data.items.length);
            getVids(playlistId, data.nextPageToken);
        }
    );
}
getVids('RDaUWYDaVp92I');

缺少.relatedPlaylists可能导致您的nextpageToken未定义错误。根据这篇帖子,使用它可能会有所帮助,比如:playlistId=response.result.items[0].contentDetails.relatedPlaylists.uploads;

要尝试检索所有视频,请尝试本文中提到的内容:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId=PLB03EA9545DD188C3&密钥=MY_API_key

这是关于从播放列表中检索视频的官方谷歌文档。

相关内容

  • 没有找到相关文章