如何在YouTube上接收频道视频的JSON列表?

时间:2014-01-05 11:59:07

标签: javascript jquery json youtube youtube-api

我正在尝试做什么

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

我到目前为止

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

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
    }
});

......但我无法让它发挥作用。

3 个答案:

答案 0 :(得分:6)

请参阅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 $评论,yt $ hd,媒体$ group,gd $ rating,yt $ statistics < / em>的

答案 1 :(得分:5)

版本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);   
 });
});

如何得到你的playlistid?

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

收藏,喜欢或上传

答案 2 :(得分:1)

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

您应该尝试jQuery.parseJSONhttp://api.jquery.com/jquery.parsejson/)。