【问题标题】:YouTube API channel's videos listYouTube API 频道的视频列表
【发布时间】: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'),我仍然一无所有。我只是不明白出了什么问题。无论如何,我会非常感谢任何帮助。

【问题讨论】:

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


    【解决方案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>

    【讨论】:

      猜你喜欢
      • 2012-10-24
      • 2015-04-17
      • 2015-11-03
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 2015-07-22
      相关资源
      最近更新 更多