查询多个Youtube频道

Querying Multiple Youtube Channels

本文关键字:频道 Youtube 查询      更新时间:2023-09-26

如何查询多个Youtube频道?我尝试过这样的东西:

function search() {
    // Use the JavaScript client library to create a search.list() API call.
    var request = gapi.client.youtube.search.list({
        part: 'snippet',
        fields: 'items(id/videoId ,snippet/thumbnails, snippet/title,
                 snippet/publishedAt)',
        channelId: 'DOESNTMATTER',
        order: 'date',
        maxResults: '50'
    });
    request.execute(function(YTDataL){
        var videoIdsL= $.map(YTDataL.items, function(item){
           return item.id.videoId; 
        });
        var videoDataL = gapi.client.youtube.videos.list({
            id: videoIdsL.join(','),
            part: 'contentDetails, statistics'
        })
        videoData.execute(function(videoDataL){
                    YoutubeResponseL(videoDataL, YTDataL);    
                });
            });            
}

它在查询一个频道时非常有效。。。但每次我试图对本质上两个不同的对象(YTData,YTDataL(使用相同的机制时,当涉及到查询"videoId"时,它总是给我10001个错误。。。这次我得到

Uncaught TypeError: Cannot read property 'videoId' of undefined 

如何查询多个通道?

下面是未来问题的更多细节:上面提到的search.list方法只能搜索一个频道。。。绕过这一点:

1( 使用channels.list功能,获取您正在使用的每个频道的contentDetails

2( 在contentDetails中有playlists,您可以在其中找到upload播放列表这与CCD_ 5得到的结果基本相同。

3( 使用playlistItems.list列出upload播放列表中的项目。

4( 本质上创建列出每个通道的playlistItems的函数。。。您应该为每个通道获得单独的响应对象,然后就可以了。

使用search.list方法只能查询一个通道。另一种选择是使用channels.list并迭代他们的视频。