YouTube API 频道的视频列表

Posted

技术标签:

【中文标题】YouTube API 频道的视频列表【英文标题】:YouTube API channel's videos list 【发布时间】:2018-06-11 16:09:32 【问题描述】:

我目前正在尝试创建一个网站,该网站可以上传某个频道特定播放列表中的所有视频。喜欢视频列表。我发现了这个视频 - link。这就是我现在所拥有的:

$(document).ready(function() 
  $.get(
    "https://www.googleapis.com/youtube/v3/channels",
      part : 'contentDetails', 
      forUsername : 'CHANNEL_NAME',
      key: 'MY_KEY',
      function(data) 
        $.each( data.items, function( i, item ) 
          console.log(item);
        )
      
  );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

但我在控制台中什么都没有,虽然从console.log(item) 判断必须有一些东西,至少undefined。即使我只写console.log('hi'),我仍然一无所有。我只是不明白出了什么问题。无论如何,我会非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

如果我正确理解了您的问题,您希望检索特定频道的视频。您应该使用https://www.googleapis.com/youtube/v3/search 端点而不是https://www.googleapis.com/youtube/v3/channels。因此,我提供了一个带有channelIdtype 参数的示例; (type参数可以是video, playlist, channel)

$(document).ready(function() 
  $.get(
    "https://www.googleapis.com/youtube/v3/search",
      part : 'snippet', 
      channelId : 'UCR5wZcXtOUka8jTA57flzMg',
      type : 'video',
      key: 'MyKey',
      function(data) 
        $.each( data.items, function( i, item ) 
          console.log(item);
        )
      
  );
);

这将为您提供频道的视频。如果要获取频道的播放列表,只需将type 参数更改为playlist。这里是官方documentation。

【讨论】:

谢谢,它有效,但使用这种方式我不知道如何制作视频列表,如<ul class="results"><li><iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe></li></ul>。我知道我从item.id.videoId 获得了videoId,但我不知道下一步该做什么。如果你能帮助我,我会很高兴。【参考方案2】:

所以如果有人想知道,这里是完成的代码:

$(document).ready(function() 
  $.get(
    "https://www.googleapis.com/youtube/v3/search",
      part : 'snippet', 
      channelId : 'CHANNEL_ID', // You can get one from Advanced settings on YouTube
      type : 'video',
      key: 'YOUR_KEY',
      function(data) 
        $.each( data.items, function( i, item ) 
          $('#results').append('<li>https://www.youtube.com/embed/' + item.id.videoId + '</li>');
        )
      
  );
);
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
  <ul id="results"></ul>
</body>
</html>

【讨论】:

以上是关于YouTube API 频道的视频列表的主要内容,如果未能解决你的问题,请参考以下文章

YouTube API用于获取频道上的所有视频

如何使用新的 YouTube Data API (V3) 获取某个频道的上传视频列表?

如何使用新的 YouTube Data API (V3) 获取某个频道的上传视频列表?

YouTube 数据 API v3 评论列表

YouTube Data v3 API - 如何从频道请求所有视频?

Youtube api v3 无法从频道中检索所有视频