Jquery 如何列出从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频道,然后在点击它们后列出它们的上传内容。然而,目前我所有频道上的所有链接都指向最后一个频道的上传,我无法说出我的代码中是如何允许这种情况发生的。谁能看一下,告诉我出了什么问题吗。您也可以在上尝试/查看该网站


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"
   }
  }
 ]
}