获取嵌入的YouTube视频的标题和说明

时间:2011-03-01 13:19:49

标签: youtube youtube-api

在我正在开发的网站上,我嵌入了来自YouTube的视频,希望获得视频标题及其说明。

如何获取该信息?

7 个答案:

答案 0 :(得分:13)

Youtube API V2.0 已被弃用。它显示标题“youtube.com/devicesupport”的错误值。 pLease切换到 API V3.0

您可以参考以下PHP代码,并根据您的需要在js或jquery中修改您的代码。

function youtube_title($id) {
 $id = 'YOUTUBE_ID';
// returns a single line of JSON that contains the video title. Not a giant request.
$videoTitle = file_get_contents("https://www.googleapis.com/youtube/v3/videos?id=".$id."&key=YOUR_API_KEY&fields=items(id,snippet(title),statistics)&part=snippet,statistics");
// despite @ suppress, it will be false if it fails
if ($videoTitle) {
$json = json_decode($videoTitle, true);

return $json['items'][0]['snippet']['title'];
} else {
return false;
}
}

<强>更新

获取标题的Jquery代码 -

 $.getJSON('https://www.googleapis.com/youtube/v3/videos?id={VIDEOID}&key={YOUR API KEY}&part=snippet&callback=?',function(data){
    if (typeof(data.items[0]) != "undefined") {
        console.log('video exists ' + data.items[0].snippet.title);
       } else {
        console.log('video not exists');
     }   
    });

答案 1 :(得分:10)

要获取 DESCRIPTION 元素,您需要访问视频信息的gdata版本,并且您可以在路径上使用alt = json返回json。在这种情况下, oHg5SJYRHA0 是视频ID,位于您在YouTube上使用的视频的网址末尾,例如: www.youtube.com/watch?v=oHg5SJYRHA0

http://gdata.youtube.com/feeds/api/videos/oHg5SJYRHA0?v=2&alt=json&prettyprint=true

(漂亮的图纸格式化使其易于阅读,您不需要它来做你正在做的事情)

您可以获取JSON,将其添加到变量中并使用jQuery访问它:

var youTubeURL = 'http://gdata.youtube.com/feeds/api/videos/oHg5SJYRHA0?v=2&alt=json';
var json = (function() {
    var json = null;
    $.ajax({
        'async': false,
        'global': false,
        'url': youTubeURL,
        'dataType': "json",
        'success': function(data) {
            json = data;
        }
    });
    return json;
})();

然后使用对象表示法访问它:

alert("Title: " + json.entry.title.$t +"\nDescription:\n " + json.entry.media$group.media$description.$t + "\n");

答案 2 :(得分:7)

您可以使用oembed执行此操作。 例如:

http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json

答案 3 :(得分:1)

我有点拖延阅读这个话题。 我使用jSON和YT API做了类似的事情

$json = json_decode( file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$rs['vid']."?v=2&prettyprint=true&alt=jsonc") );

注意:$ rs [&#39; vid&#39;]是从我的数据库中重新获取的视频ID。

将内容放入句柄$ json中后,您可以像这样进行检索:

$json->data->description;
$json->data->title;

使用var_dump($ json)查看您可以访问的所有值。

答案 4 :(得分:1)

答案 5 :(得分:0)

我首先来看看Youtube Data API以获得您想要的内容:http://code.google.com/apis/youtube/getting_started.html#data_api

答案 6 :(得分:-1)

不推荐使用GData,但仍然可以通过调用此端点来获取视频说明:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id=[video_id]&key=[api_key]

它将返回以下形式的响应:

items.localized.description

可以在void coutOff() { cout.setstate(std::ios_base::failbit) } void coutOn() { cout.clear(); } 找到说明。