我正在尝试做什么
我正在尝试显示已上传到频道的视频列表。
我到目前为止
我知道这是用户以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
}
});
......但我无法让它发挥作用。
答案 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.parseJSON
(http://api.jquery.com/jquery.parsejson/)。