YouTube API频道的视频列表

时间:2018-01-01 19:46:29

标签: javascript jquery video youtube-api youtube-data-api

我目前正在努力建立一个网站,上传某些频道的特定播放列表中的所有视频。喜欢视频列表。我发现了这段视频 - 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'),我仍然什么都没有。我只是无法理解什么是错的。无论如何,我会非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

如果我正确理解了您的问题,您想要检索特定频道的视频。您应该使用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

答案 1 :(得分: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>