如何查询多个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错误#34; ...这次我得到了
Uncaught TypeError: Cannot read property 'videoId' of undefined
如何查询多个频道?
答案 0 :(得分:1)
以下是未来问题的更多详细信息:如上所述的search.list方法只能搜索一个整体渠道...要解决这个问题:
1)使用channels.list功能并获取您正在使用的每个频道的contentDetails
。
2)在contentDetails
playlists
中,您可以找到upload
播放列表
这与您从search.list
获得的结果基本相同。
3)使用playlistItems.list
列出upload
播放列表中的项目。
4)基本上创建列出每个频道的playlistItems
的函数......你应该为每个频道获得单独的响应对象,然后你去。
答案 1 :(得分:0)
您只能使用search.list method查询一个频道。 另一种选择是使用channels.list并迭代他们的视频。