ついでにYouTubeとニコニコ動画のサムネイルを取得するプログラムをまとめておきます。
(以前書いたエントリの再まとめおよび更新版です)
以前書いたエントリ
YouTube API を使ってみる。ニコニコ動画APIを使ってサムネイルを取得する。
YouTubeの場合
APIの仕様
http://gdata.youtube.com/feeds/api/videos/video ID
サムネイルの取得
$xml->children('http://search.yahoo.com/mrss/')->group->thumbnail[0]->attributes()->url
サンプルコード
function getYouTubeThumbnailById($movieId)
{
$xml = @simplexml_load_file("http://gdata.youtube.com/feeds/api/videos/" . $movieId);
return ($xml !== false) ? (string) $xml->children('http://search.yahoo.com/mrss/')->group->thumbnail[0]->attributes()->url : null;
}
以前はYouTubeが発行するdeveloper IDが必要でしたが、
GoogleがAPIを提供するようになって不要になりました。
(アップロードなど認証を行う場合には必要です)
またYouTubeの場合サムネイルが複数あるのですが、
ここでは便宜上標準のもの1つだけを取得しています。
APIが返すレスポンスの詳細についてはこのあたりを参考にしてください。
デベロッパー ガイド: Data API プロトコル – 動画のフィードとエントリの説明
PHPを使ったAPI操作の一般的な例はこちらで。
デベロッパー ガイド: PHP – YouTube の API とツール – Google Code
ニコニコ動画の場合
APIの仕様
http://www.nicovideo.jp/api/getthumbinfo/video ID
サムネイルの取得
$xml->thumb->thumbnail_url
サンプルコード
function getNicoThumbnailById($movieId)
{
$xml = simplexml_load_file("http://www.nicovideo.jp/api/getthumbinfo/" . $movieId);
return ($xml->attributes()->status == 'ok') ? (string) $xml->thumb->thumbnail_url : null;
}
ニコニコ動画の場合は、公式な仕様はないので、
とりあえず現在はこういうことになっている…程度の情報ですが、
とにもかくにもこれで取得できます。
その他のAPIについては、このあたりにまとめられています。
ニコニコ動画APIとは (ニコニコドウガエーピーアイとは) – ニコニコ大百科
ランキングあたりのAPI欲しいなぁ…