在我正在开发的网站上,我嵌入了来自YouTube的视频,希望获得视频标题及其说明。
如何获取该信息?
答案 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)
gdata不再可用
您可以使用以下内容
https://www.googleapis.com/youtube/v3/videos?part=snippet&id=(Video_ID)&key=(API_Key)
答案 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();
}
找到说明。