YouTubeのサムネイルを自社サイトへ貼り付ける
CakePHPで
YouTubeに検索キーワードを投げて、結果としてタイトルやサムネイルを取得するコンポーネントを
作ってみた。
XMLで返って来るので、simplexml_load_fileでパースすれば特に難しいこともなかったです。
<?php define('YOUTUBE_LOGIN_ID','*****'); define('YOUTUBE_LOGIN_PASS','*****'); define('YOUTUBE_API_URL','http://gdata.youtube.com/feeds/api/videos?'); class YoutubeComponent extends Object{ function select_data($keyword){ $youtube_data = array(); $url = YOUTUBE_API_URL.'vq='.$keyword.''.'&max-results=4'; $xml = simplexml_load_file($url) or die("XMLパースエラー"); $a = 1; foreach ($xml->entry as $entry) { //echo $entry->title; $media = $entry->children('http://search.yahoo.com/mrss/'); $title = $entry->title; //ページURLを取得 $attrs = $media->group->player->attributes(); $youtube = $attrs['url']; //サムネイルを取得 $attrs = $media->group->thumbnail[0]->attributes(); $thumbnail = $attrs['url']; //結果を出力 $youtube_data[$a]['title'] =$title; $youtube_data[$a]['youtube']=$youtube; $youtube_data[$a]['thumbnail']=$thumbnail; $a = $a + 1; } return $youtube_data; } }
使い方は言わずもがな
$youtube = $this->Youtube->select_data($keywords); $this->set('youtube',$youtube);