javascript - Youtube API V3 - 使用 playlistItems.list 请求时播放列表中缺少项目

标签 javascript youtube-api

我一直在尝试获取 this playlist 中的所有项目,其中有 64 个项目,使用 javascript。

这是我一直在使用的函数获取响应并显示响应中的项目:

function getPlaylistItems( playlistId, maxResults, pageToken ) {

    var requestOptions = {
        playlistId: playlistId,
        part: 'snippet',
        maxResults: maxResults,
        fields: "items,nextPageToken"
    };

    if ( pageToken ) {
        requestOptions.pageToken = pageToken;
    }

    var request = gapi.client.youtube.playlistItems.list( requestOptions );
    request.execute( function( response ) {

        var playlistItems = response.items;

        console.log( playlistItems.length, playlistItems );
        $.each( playlistItems, function( index, item ) {
            displayResult( item.snippet.title );
        } );

        if ( response.nextPageToken ) {
            console.log( response.nextPageToken );
            getPlaylistItems( playlistId, maxResults, response.nextPageToken );
        }
    } );
    displayResult( "---" );
}

如果 maxResults = 25,那么第一次迭代将返回视频 01-25,这正是您所期望的。

但是第二次迭代从 31 到 55。第三个里面没有任何元素。所以我缺少 26-30 和 56-64。

With maxResults = 10 I am missing 31-40. 
With maxResults = 20 I am missing 41-60.
With maxResults = 30 I am missing 31-40. 

(这不是代码 ^^ Stackoverflow 不允许我以其他方式发布 :S )

是我做错了什么,还是我没有得到正确的 nextPageToken?

编辑:现在已修复。

最佳答案

我认为这是一个错误。 当我使用 api 版本 3 检索您的播放列表 (PLSJnFrNoXjX_HlX3JA4NGgxmym1Pj26RB) 时,我只得到第一页的 50 个项目。

另见: Retrieve youtube playlist wrong when playlist items count over 100

更新: 另请参阅错误报告: https://code.google.com/p/gdata-issues/issues/detail?id=6162&q=label%3AAPI-YouTube&colspec=API%20ID%20Type%20Status%20Priority%20Stars%20Summary

关于javascript - Youtube API V3 - 使用 playlistItems.list 请求时播放列表中缺少项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22605693/

相关文章:

javascript - 有没有办法防止整个 AngularJS Web 应用程序中的退格导航?

javascript - 如何在 Chrome 中调试动态加载的资源?

android - 如何防止 youtube fragment View 在方向改变时重新加载

java - 使用java通过android应用程序在youtube上上传视频

javascript - 通过域名访问时页面没有响应

javascript - Bootstrap + 词缀 : affixed menu jumps off screen

json - 使用带有 Youtube Analytics 的 Swift 4 解码 JSON 以获得嵌套的非键控数组

node.js - 无法将 playlistItem 插入播放列表中的特定位置

c# - 在 Xamarin 表单中嵌入单个 Youtube 视频,但不是 Youtube 列表

javascript - app.use() 在 express/connect 中的使用