Jquery 如何列出从YouTube频道上传的内容?
我写这段代码是为了在我的网站上搜索youtube频道,然后在点击它们后列出它们的上传内容。然而,目前我所有频道上的所有链接都指向最后一个频道的上传,我无法说出我的代码中是如何允许这种情况发生的。谁能看一下,告诉我出了什么问题吗。您也可以在上尝试/查看该网站Jquery 如何列出从YouTube频道上传的内容?,jquery,google-apps-script,youtube,Jquery,Google Apps Script,Youtube,我写这段代码是为了在我的网站上搜索youtube频道,然后在点击它们后列出它们的上传内容。然而,目前我所有频道上的所有链接都指向最后一个频道的上传,我无法说出我的代码中是如何允许这种情况发生的。谁能看一下,告诉我出了什么问题吗。您也可以在上尝试/查看该网站 YouTube 函数channelsearch(){ gapi.client.setApiKey('aizasyahxrvlpbiylloq9n0w6qnnqnrhmqbovy') load('youtube','v3',function(
YouTube
函数channelsearch(){
gapi.client.setApiKey('aizasyahxrvlpbiylloq9n0w6qnnqnrhmqbovy')
load('youtube','v3',function(){
makechannelRequest();
});
}
函数makechannelRequest(){
var q=$('#Channelquery').val();
var request=gapi.client.youtube.search.list({
问:问,,
类型:“频道”,
部分:'代码片段',
最大结果:25
});
请求.执行(函数(响应){
console.log(响应)
$(“#结果”).empty()
$(“#搜索结果”).html(“搜索结果”);
var srchItems=response.result.items;
$.each(srchItems,函数(索引,项){
channelTitle=“”+项.snippet.channelTitle+”;
channelThumburl=item.snippet.thumbnails.default.url;
id=item.id.channelId;
channelThumbimg='';
$('#results')。追加(“+channelTitle+”
“+channelThumbimg+”
“+”)
})
})
}
函数ChannelUploadId(){
var request=gapi.client.youtube.channels.list({id:id,part:'contentDetails'});
请求.执行(函数(响应){
控制台日志(响应);
var srchItems=response.result.items;
$.each(srchItems,函数(索引,项){
playlaid=item.contentDetails.relatedPlaylists.uploads;
})
频道上传(播放ID);
})
}
函数ChannelUploads(i){
控制台日志(i)
var request=gapi.client.youtube.playlitems.list({
我,
类型:'视频',
订单:'日期',
部分:'代码片段',
最大结果:25
});
请求.执行(函数(响应){
console.log(响应)
$(“#结果”).empty()
$(“#搜索结果”).html(“搜索结果”);
var srchItems=response.result.items;
$.each(srchItems,函数(索引,项){
vidTitle=“”+项.snippet.title+”;
vidThumburl=item.snippet.thumbnails.high.url;
vidChannel=“”+item.snippet.channelTitle+”;
vidPublish=“”+item.snippet.PublishDAT+”;
id=item.id.videoId;
vidThumbimg='';
$(“#结果”)。追加(“+vidTitle+”
“+”已发布:“+vidPublish+”
“+”频道:“+vidChannel+”
“+vidThumbimg+”
”);
})
})
}
函数关键字搜索(){
gapi.client.setApiKey('aizasyahxrvlpbiylloq9n0w6qnnqnrhmqbovy')
load('youtube','v3',function(){
makeRequest();
});
}
函数makeRequest(){
var q=$('#query').val();
var request=gapi.client.youtube.search.list({
问:问,,
键入:“视频”,
部分:'代码片段',
最大结果:25
});
请求.执行(函数(响应){
console.log(响应)
$(“#结果”).empty()
$(“#搜索结果”).html(“搜索结果”);
var srchItems=response.result.items;
$.each(srchItems,函数(索引,项){
vidTitle=“”+项.snippet.title+”;
vidThumburl=item.snippet.thumbnails.high.url;
vidChannel=“”+item.snippet.channelTitle+”;
vidPublish=“”+item.snippet.PublishDAT+”;
id=item.id.videoId;
vidThumbimg='';
$(“#结果”)。追加(“+vidTitle+”
“+”已发布:“+vidPublish+”
“+”频道:“+vidChannel+”
“+vidThumbimg+”
”);
})
})
}
一旦您有了频道id
,更改突出显示的字母,如图所示:
频道:微软全息透镜
通道id:UCT2rZIAL-zNqeK1OmLLUa6g
上传(播放列表):UUT2rZIAL-zNqeK1OmLLUa6g
获得上载播放列表后,您可以使用此请求获取上载的视频:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&playlistId=<UPLOAD_PLAYLIST_ID>&fields=items(contentDetails(videoId%2CvideoPublishedAt)%2Csnippet(publishedAt%2Ctitle))&key={YOUR_API_KEY}
这是我做的
注意,每页的最大结果是50
这就是全部内容。我的请求正在运行,但是,我的所有链接都被更改为频道列表playlid中的最后一项。@DanielRyan可能是您没有正确地循环播放项,或者您正在覆盖它们。我试图复制结果,只是为了推荐:尝试在代码中使用注释。如果您想创建一个工作示例,请使用JSFIDLE。我知道你的页面可以工作,但是,如果你使用JSFIDLE会更好,而且,不要在页面上添加凭据,即YouTube数据API密钥。我能够理解这一点,因为我的代码结构有问题,因为它写的东西太多了。我不知道我是如何修复它的,但我只是在玩弄它,删除了一个函数,并简化了它的工作方式。
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&playlistId=<UPLOAD_PLAYLIST_ID>&fields=items(contentDetails(videoId%2CvideoPublishedAt)%2Csnippet(publishedAt%2Ctitle))&key={YOUR_API_KEY}
{
"nextPageToken": "CAUQAA",
"pageInfo": {
"totalResults": 61,
"resultsPerPage": 5
},
"items": [
{
"snippet": {
"publishedAt": "2019-02-24T17:38:51.000Z",
"title": "Industry Partner Solutions for Microsoft HoloLens 2"
},
"contentDetails": {
"videoId": "FWYcuHUgcng",
"videoPublishedAt": "2019-02-24T17:38:51.000Z"
}
},
{
"snippet": {
"publishedAt": "2019-02-24T17:32:14.000Z",
"title": "Introducing Microsoft HoloLens 2 (Audio Description)"
},
"contentDetails": {
"videoId": "NtRGESjKT6M",
"videoPublishedAt": "2019-02-24T17:32:14.000Z"
}
},
{
"snippet": {
"publishedAt": "2019-02-24T17:31:30.000Z",
"title": "Introducing Microsoft HoloLens 2"
},
"contentDetails": {
"videoId": "eqFqtAJMtYE",
"videoPublishedAt": "2019-02-24T17:31:30.000Z"
}
},
{
"snippet": {
"publishedAt": "2019-02-24T17:39:08.000Z",
"title": "PACCAR is exploring Dynamics 365 Guides and HoloLens 2 to improve employee onboarding"
},
"contentDetails": {
"videoId": "OQDhTtDgir0",
"videoPublishedAt": "2019-02-24T17:39:08.000Z"
}
},
{
"snippet": {
"publishedAt": "2019-02-24T17:41:16.000Z",
"title": "Introducing Dynamics 365 Guides for HoloLens 2"
},
"contentDetails": {
"videoId": "V8c3pDKdHEc",
"videoPublishedAt": "2019-02-24T17:41:16.000Z"
}
}
]
}