ユーチューブ取得PHPの解説

PHPとWebAPIで作るマッシュアップサイト。

 

ユーチューブ動画リンク取得PHPの例をざっと解説します。

 

今回のは、検索結果の動画へのURLリンクと、縮小画像を取得できます。

 

基本的には解説(5)商品情報をXMLから取り出すと同じですので参照してください。

 

なおユーチューブのAPIの仕様などは、こちらに載っています。

 

YouTube の API とツール




function youtube_xml($keywords,$result){ここは関数名です。

 

キーワードと取得件数を受け取ります。

 

//echo $result;
// --------------------------------------------------------// YouTube動画検索 リクエストURL(バージョン1)// --------------------------------------------------------$keyword_u = urlencode(mb_convert_encoding($keywords ,"UTF-8", "auto"));
キーワードをUTF-8に念のため変換して、URLエンコードします。

 

$keyword_u = preg_replace("/%0D/", "", $keyword_u);
キーワードに余分なモノが付いているのを取り除きます。

 

$max_douga = "&max-results=".$result;
取得の最大数を設定します。

 

$api_url = "http://gdata.youtube.com/feeds/api/videos?vq=".$keyword_u."&start-index=1".$max_douga ;
検索キーワードに該当する動画情報を取得するRESTリクエストを組み立てます。

 

//echo $api_url;
確認用の記述$contents = @file_get_contents($api_url);
$data = simplexml_load_string($contents);
いつもの2つの関数。

 

// --------------------------------------------------------// 動画が1件も無い場合// --------------------------------------------------------/************ここからしばらくコメントアウト。

 

使ってない記述。

 

if ($data->totalResults == 0){$list_you[$i]['title'] = "該当する動画がありませんでした。

 

";
}else{if(is_array($data->entry)){$data->entry = array_slice($data->entry, 0 , $result);}
**********/コメントアウト終わり。

 

//print_r($data->entry);
$i = 0;
foreach($data->entry as $item){エントリーから一つずつ記事を配列に入れていく。

 

$youid = $item->id;
$youid = str_replace("http://gdata.youtube.com/feeds/api/videos/","",$youid);
$img = "http://i.ytimg.com/vi/".$youid."/1.jpg";
動画紹介用の画像を取得 $title = mb_convert_encoding($item->title, "UTF-8" ,"auto");
$url = "http://www.youtube.com/watch?v=".$youid;
動画のリンクを取得 $list_you[$i]['title'] = mb_strimwidth ($title, 0, 80, "…", "utf-8");
$list_you[$i]['img'] = $img;
$list_you[$i]['url'] = $url;
$i++;
// }}return($list_you);
検索結果の配列を主プログラムに返す記述。

 

}

広告


このエントリーをはてなブックマークに追加



売れてます

★稼げるアフィリエイター専用SEO分析ツール「COMPASS」

大幅バージョンアップ完了!アフィリサイト作成システムSIRIUS

★SEOに強い戦略的テンプレート「賢威7」

アフィリエイト教材 最新人気ランキング