使用 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&amp;max-results=5&amp;v=2&amp;alt=jsonc&amp;orderby=published', function(data) console.log(data); ); 是的 - 我可以使用大量的在线工具对其进行解析,但我只是不知道如何获取单个值(例如列表中第一个视频的视频标题)。 【参考方案1】:

一旦你得到解析的对象,你可以像这样迭代它:

$.getJSON('https://gdata.youtube.com/feeds/api/videos?q=googledevelopers&max-re‌​sults=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 获取视频?

如何从 YouTube 频道检索所有视频 URL? json?

从 youtube 频道获取视频列表

从YouTube频道逐页获取所有视频

使用 PHP 代码获取特定频道的 youtube 频道视频

在 C# 中使用 Youtube API V3 从频道获取视频