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



我想做什么

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

我目前所处的位置

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

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

其中用户名是频道名称,而不是与用户频道对应的字母/数字字符串(例如,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
    }
});

。但我无法让它工作。

版本

2 即将弃用,Google 仅在 2015 年 4 月之前为您提供支持,因为新版本 v3 会使用此版本,然后再生成您的 API 开发者密钥并启用 YouTube 数据 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}

收藏、喜欢或上传

有关获取视频列表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,媒体$组,GD$评级,YT$统计

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

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

相关内容

  • 没有找到相关文章

最新更新