私が開発しているサイトで、YouTubeからビデオを埋め込み、ビデオのタイトルとその説明を取得したいと思います。
その情報を取得するにはどうすればよいですか?
[〜#〜] description [〜#〜]要素を取得するには、動画の情報のgdataバージョンにアクセスする必要があり、パスでalt = jsonを使用してjsonを返すことができます。この場合、oHg5SJYRHAは動画IDであり、YouTubeで使用している動画のURLの末尾にあります。例: 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");
Youtube API V2.は非推奨になりました。タイトルに間違った値が表示されます"youtube.com/devicesupport"。 pLeaseスイッチをオンにしてAPI V3.
次の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');
}
});
oembed でそれを行うことができます。例:
http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json
gdataは利用できなくなりました
代わりに以下を使用できます
https://www.googleapis.com/youtube/v3/videos?part=snippet&id=(Video_ID)&key =(API_Key)
私はこのトピックを少し遅れて読んだ。私は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 ['vid']は、DBから動的に取得されたビデオIDです。
内容をハンドル$ jsonに入れると、次のように取得できます。
$json->data->description;
$json->data->title;
var_dump($ json)を使用して、アクセスできるすべての値を表示します。
まず、Youtube Data APIを見て、必要なものを取得します。 http://code.google.com/apis/youtube/getting_started.html#data_api