PHP5 で YouTube API を使った例

投稿者:

PHP5より実装されたDOM拡張モジュールでYouTube検索APIを使ったコードの例です。
電脳卸の例とは違ったメソッドを使っています。
YouTube API の使い方は http://www.youtube.com/dev_docs をご覧ください。
 //URL
 $request = “http://www.youtube.com/api2_rest”;
 //メソッド
 $method =”youtube.videos.list_by_tag”;
 $url = $request.”?method=$method&dev_id=YouTubeデベロッパーID&tag=検索語(UTF-8)&page=ページ数”;
 // 結果を格納する配列
 $aryList = array();
 
 try{
  // YouTubeへリクエストを投げた後、
  // 検索結果のXML文書をパース
  $doc = new domDocument();
  $doc->load($url);
  
  // ルート要素を取得
  $root=$doc->documentElement;
  $results=$root->childNodes;
  // 各Result要素を出力
  foreach($results as $result){
   $items=$result->childNodes;
   // さらに各要素を解析する
   foreach($items as $item){
    $author  = $item->getElementsByTagName(‘author’)->item(0)->textContent;
    $id  = $item->getElementsByTagName(‘id’)->item(0)->textContent;
    $title  = $item->getElementsByTagName(‘title’)->item(0)->textContent;
    $length_seconds = $item->getElementsByTagName(‘length_seconds’)->item(0)->textContent;
    $rating_avg = $item->getElementsByTagName(‘rating_avg’)->item(0)->textContent;
    $rating_count = $item->getElementsByTagName(‘rating_count’)->item(0)->textContent;
    $description = $item->getElementsByTagName(‘description’)->item(0)->textContent;
    $view_count = $item->getElementsByTagName(‘view_count’)->item(0)->textContent;
    $upload_time = $item->getElementsByTagName(‘upload_time’)->item(0)->textContent;
    $tags  = $item->getElementsByTagName(‘tags’)->item(0)->textContent;
    $url  = $item->getElementsByTagName(‘url’)->item(0)->textContent;
    $thumbnail_url = $item->getElementsByTagName(‘thumbnail_url’)->item(0)->textContent;
    $result_array = array(
     ”author”     => $author,
     ”id”       => $id,
     ”title”      => $title,
     ”length_seconds” => $length_seconds,
     ”rating_avg”   => $rating_avg,
     ”rating_count”  => $rating_count,
     ”description”   => $description,
     ”view_count”   => $view_count,
     ”upload_time”   => $upload_time,
     ”tags”      => $return_tag,
     ”url”       => $url,
     ”thumbnail_url”  => $thumbnail_url
    );
    $aryList[]=$result_array;
    
   }
  }
 }catch(DOMException$e){
  print $e->getCode()”;
  print .$e->getMessage();
 }

Thank you for reading this post, don't forget to subscribe!