web-dev-qa-db-ja.com

埋め込まれたYouTubeビデオのタイトルと説明を取得する

私が開発しているサイトで、YouTubeからビデオを埋め込み、ビデオのタイトルとその説明を取得したいと思います。

その情報を取得するにはどうすればよいですか?

14
Syed Qarib

[〜#〜] 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");
10
Will Lanni

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');
     }   
    });
13

oembed でそれを行うことができます。例:

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

gdataは利用できなくなりました

代わりに以下を使用できます

https://www.googleapis.com/youtube/v3/videos?part=snippet&id=(Video_ID)&key =(API_Key)

2

私はこのトピックを少し遅れて読んだ。私は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)を使用して、アクセスできるすべての値を表示します。

1
Fabrizio Sabato

まず、Youtube Data APIを見て、必要なものを取得します。 http://code.google.com/apis/youtube/getting_started.html#data_api

0
Brady