第5回 動画を表示するAPIを使ってみる - マッシュアップ講座
ZAPA先生のマッシュアップ講座
Lecutures on PHP
第5回 動画を表示するAPIを使ってみる (その1)
YouTubeの動画を表示する
前回は写真を表示するAPIの利用方法を解説しました。今回は、Web 2.0の代表的なサイトの一つとされ、日本でも人気が高い動画共有サービス「YouTube」(*1)の動画ファイルを表示するAPIの利用方法を解説します。
YouTubeのAPIを利用するには、YouTubeのアカウントとDeveloper IDが必要になります。あらかじめアカウントを作成し、Developer APIs(*2)からDeveloper Profileを設定し、Developer IDを取得しておいて下さい。なお、YouTubeではGDataAPIという最新版のAPIの提供が始まりましたが、今回は古いAPIの方を用いて解説します。
このAPIの利用方法については、API Documentation(*3)が用意されていますので、このドキュメントを読むことでAPIを理解することができます。全て英語で書かれているため、少し敷居が高いように感じてしまうかもしれませんが、今まで解説してきた日本で提供されているAPI と同じように利用できます。英語だからといって恐れることはありません(*4)。
早速、youtube.videos.list_by_tagというメソッドを利用して、指定したキーワードで人気の動画を取得して表示させてみましょう。キーワードと表示件数を指定してコールすると、HTMLタグを生成して返すyoutube関数を作ります。利用方法は以下のようになります。
echo youtube($keyword,$limit);

フォト蔵の場合と同様、$keywordには、日本語のキーワードをそのまま指定して利用できるように、youtube関数内で以下のように検索キーワードをURLエンコードしてAPIにアクセスしています。加えて、APIにアクセスする際は、取得したDeveloper IDが必要になりますので、先ほど取得した自分のIDを設定して下さい。
//dev_idを設定 $dev_id = "取得したDeveloper ID"; //XMLデータ取得用ベースURL $req = "http://www.youtube.com/api2_rest"; //XMLデータ取得用リクエストURL生成 $req .= "?method=youtube.videos.list_by_tag"; $req .= "&dev_id=".$dev_id."&tag=".urlencode($keyword)."&page=1&per_page=".$limit;
XMLを取得できたら、その情報から動画ファイルを表示させるためのHTMLタグを生成します。以下の部分でYouTubeのFlash動画ファイルを表示させるためのHTMLタグを生成しています。
$ret = '<div class="youtube">';
foreach ($xml->video_list-<video as $video){
$ret .= '<object width="340" height="280"><param name="movie" value="http://www.youtube.com/v/';
$ret .= $video->id;
$ret .= '"></param><param name="wmode" value="transparent"></param>';
$ret .= '<embed src="http://www.youtube.com/v/';
$ret .= $video->id;
$ret .= '" type="application/x-shockwave-flash" wmode="transparent" width="340" height="280">';
$ret .= '</embed></object>'."\n";
}
$ret .= "</div>";
----
*1):http://www.youtube.com/
*2):http://www.youtube.com/dev
*3):http://www.youtube.com/dev_docs
*4):2007年6月19日にYouTubeの日本語版サービスが開始され、http://jp.youtube.com/dev_docsのページに日本語版ドキュメントも用意されました。
- 1
- 2





ページのトップへ


GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。