使用 JSON 从 YouTube 频道获取视频列表
Posted
技术标签:
【中文标题】使用 JSON 从 YouTube 频道获取视频列表【英文标题】:Getting a list of videos from a YouTube channel using JSON 【发布时间】:2013-05-14 00:47:07 【问题描述】:我正在尝试列出频道中最近的 5 个视频(标题、更新、缩略图 (hqDefault))。我有 JSON 格式的数据,但尽管查看了几个指南,但我似乎无法解析它。有任何想法吗?可以使用 javascript 或 jQuery。
这是网址:https://gdata.youtube.com/feeds/api/videos?q=googledevelopers&max-results=5&v=2&alt=jsonc&orderby=published
FWIW 是我目前所拥有的(忽略 html 格式)
$.getJSON('https://gdata.youtube.com/feeds/api/videos?q=googledevelopers&max-results=5&v=2&alt=jsonc&orderby=published', function(data)
var output="<ul>";
for (var i in data.data.items)
output+="<li>" + data.data.items[i].title + "</li>";
document.getElementById("videos").innerHTML=output;
【问题讨论】:
格式似乎很好。轻松解析。$.getJSON('https://gdata.youtube.com/feeds/api/videos?q=googledevelopers&max-results=5&v=2&alt=jsonc&orderby=published', function(data) console.log(data); );
是的 - 我可以使用大量的在线工具对其进行解析,但我只是不知道如何获取单个值(例如列表中第一个视频的视频标题)。
【参考方案1】:
一旦你得到解析的对象,你可以像这样迭代它:
$.getJSON('https://gdata.youtube.com/feeds/api/videos?q=googledevelopers&max-results=5&v=2&alt=jsonc&orderby=published', 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
);
【讨论】:
是的,有一个错误。检查更新的代码。返回的data
对象包含一个子data
,其中存在所需的items
数组。
有 2 个问题:a) 未包含 jquery(左上角)和 b) 请求 URL 不正确。检查这个:jsfiddle.net/c7LY2/1
正是我想要的。以上是关于使用 JSON 从 YouTube 频道获取视频列表的主要内容,如果未能解决你的问题,请参考以下文章
YouTube API:如何使用标签 Y 从频道 X 获取视频?