FlickrのAPIを試してみる

 
ー 2010-10-03:追記 ーーーーーーーーーーーーーーーーーーーーーー
flickr.photos.searchのextrasパラメータで指定すれば、説明とかも一気に取得できる事がわかったので、ソースを修正しました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 
 
Flickrを使ってみる事に。
せっかくなので、APIをつかって自分の好きなように表示できないかテスト。
試してみたコードを記録しておく。
 
10分程度で作ったのできれいではないけど、備忘録として。
 
twitterのAPIも試したけど、こっちの方がサービスとしては面白い事ができそう。
ちょっとしたポータルでも作ってみようかな。
 
[php]
<?php
define (APIKEY , "******"); // 自分が取得したAPIコード
define (UID , "*****");   //表示したいユーザーID:自分の写真なら自分のID
/*  2010-10-03削除
define(PIC_SIZE , "t");
*/
$loop = 0;
$list ="";
$list = "<table>";

// 2010-10-03追加:extrasの文字列
$str ="description,url_t";

//写真画像を取得する(flickr.photos.search)
$url = "http://www.flickr.com/services/rest/?"
. "method=flickr.photos.search"
. "&format=rest"
. "&api_key=".APIKEY
. "&user_id=".UID
. "&extras=".$str //2010-10-03extrasパラメータ追加
. "&per_page=20";

$xml = @simplexml_load_file($url);

foreach($xml->photos->photo as $photoValue){
if( $loop == 0){
$list .= "<tr><td>";
} else {
$list .= "<td>";
}
$farmId = $photoValue[‘farm’];
$serverId = $photoValue[‘server’];
$photoId = $photoValue[‘id’];
$secret = $photoValue[‘secret’];
$owner = $photoValue[‘owner’];
$title = $photoValue[‘title’];
  //2010-10-03:追加
$desc = $photoValue->description;
$url_t = $photoValue[‘url_t’];

//写真の詳細情報を取得する(flickr.photos.getInfo)
/* 2010-10-03削除
$url2 = "http://www.flickr.com/services/rest/?"
. "method=flickr.photos.getInfo"
. "&format=rest"
. "&api_key=".APIKEY
. "&photo_id=".$photoId;

$xml2 = @simplexml_load_file($url2);
$desc = $xml2->photo->description;
*/

$list .= "<a href=’http://www.flickr.com/photos/".$owner."/".$photoId."’><img src=’".url_t."’></a><br>";
$list .= $title;
$list .= "<br>";
$list .= $desc;

$loop++;
if( $loop == 4){
$list .= "</td></tr>";
$loop = 0;
} else {
$list .= "</td>";
}
}

if( $loop != 0 ){
$list .= "</tr>";
}
$list .= "</table>";

echo $list;

?>
[/php]