YouTube API频道的视频列表

问题描述 投票:4回答:2

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

javascript jquery video youtube-api youtube-data-api
2个回答
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


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>
© www.soinside.com 2019 - 2024. All rights reserved.