【问题标题】:How to receive a JSON list of a channel's videos on YouTube?如何在 YouTube 上接收频道视频的 JSON 列表?
【发布时间】:2014-01-22 20:55:31
【问题描述】:

我要做什么

我正在尝试显示已上传到频道的视频列表。

我目前在哪里

我知道这是用户以 JSON 格式“上传”的正确 URL:

http://gdata.youtube.com/feeds/api/users/%USERNAME%/uploads?alt=json&v=2

其中 USERNAME 是频道名称,而不是对应于用户频道的字母/数字字符串(例如,MyChannel 而不是 hIANSUBhkj_baisu128)。

但是,在我的用户名 (BenPearlMagic) 上对此进行测试时,我收到了一个非常长的 JSON 列表,其中包含大量看似无关的数据。

我的代码是这样的:

$.getJSON('http://gdata.youtube.com/feeds/api/users/benpearlmagic/uploads?alt=json', function(data) {
    console.log(data);
    for(var i=0; i<data.data.items.length; i++) {
       console.log(data.data.items[i].title); // title
       console.log(data.data.items[i].description); // description
    }
});

...但我无法让它工作。

【问题讨论】:

    标签: javascript jquery json youtube youtube-api


    【解决方案1】:

    查看data.feed.entry数组,获取视频列表。

    $.getJSON('http://gdata.youtube.com/feeds/api/users/benpearlmagic/uploads?alt=json', function(data) {
        console.log(data);
        for(var i in data.feed.entry) {
          console.log("Title : "+data.feed.entry[i].title.$t); // title
          console.log("Description : "+data.feed.entry[i].content.$t); // description
        }
    });
    

    data.feed.entry[i] 的关键字:id、已发布、已更新、类别、标题、内容、链接、作者、gd$cmets、yt$hd、media$group、gd$rating、yt$statistics.

    【讨论】:

    【解决方案2】:

    这是您的 json 数据格式:http://pastebin.com/M5yNzGeL 现在,您需要输入数组的元素(第 97 行)。 (请查看格式化代码以获得更好的理解,你会发现它很容易:))

    你应该试试jQuery.parseJSON (http://api.jquery.com/jquery.parsejson/)。

    【讨论】:

    • 这对眼睛来说容易多了!感谢您的回复。
    【解决方案3】:

    版本 2 很快就被弃用了,谷歌只在 2015 年 4 月之前为您提供支持,因为新版本 v3 使用它,before generate your api developer key and enable YouTube Data API v3

    https://developers.google.com/youtube/v3/getting-started

    var videosURL = "https://www.googleapis.com/youtube/v3/playlistItems?playlistId={myPlaylistID}&key={myAPIKey}&fields=items&part=snippet&maxResults=6&callback=?";
    
    
    $.getJSON(videosURL, function(data) {
    $.each(data.items, function(i,val) {
    console.log(val.snippet.title);
    console.log(val.snippet.resourceId.videoId);   
     });
    });
    

    如何获取您的播放列表 ID?

    https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={myChannelName}&key={myAPIKey}
    

    收藏、喜欢或上传

    【讨论】:

      猜你喜欢
      • 2018-06-11
      • 2013-05-14
      • 2014-10-09
      • 2012-10-24
      • 2015-06-07
      • 2016-09-27
      • 2015-01-07
      • 2013-07-02
      • 1970-01-01
      相关资源
      最近更新 更多