Flickr API を使ってみよう
自分の個人サイトにFlickrの写真を取り込もうとしてFeedを探してみたが、少ない!情報量も少なくて、困ったな~と思った時FlickrのAPIを思い出した。FlickrのAPIは結構前から出たが、日本のユーザにとってはそんなに使われてないようだ。Flickr自身も中国語、韓国語はサポートしてるのに、なぜか日本語はサポートされてない。英語が苦手な僕にとって英語マニュアルを読むのが苦痛であった。幸い繁體中国語があったので、比較的に楽だった。しかしサンプルコードがなかったので、どのメソッドを使えばどのようなレスポンスが返ってくるとか、写真のURL生成はどうすればよいとか戸惑った部分があったので、FlickrAPIを使うにあたって基本的な部分を紹介したいと思います。
PHPのserialize, unserializeを使ったサンプルである。
1.API Key取得以下のところでAPI Keyを取得。(入力項目は適当に)
http://www.flickr.com/services/api/keys/
2. PHPからリクエスト発行
サンプルの ‘api_key’ の部分は1で取得したキーを使用。
<?php
//API パラメータ
$params = array('api_key' => '**************',
'method' => 'flickr.photos.search',
'user_id' => '9823188@N07',
'format' => 'php_serial',);
$encoded_params = array();
foreach ($params as $k => $v){
$encoded_params[] = urlencode($k).'='.urlencode($v);
}
//API リクエスト
$url = "http://api.flickr.com/services/rest/?".
implode('&', $encoded_params);
$rsp = file_get_contents($url);
$rsp_obj = unserialize($rsp);
//API レスポンス
if ($rsp_obj['stat'] == 'ok'){
foreach ($rsp_obj['photos']['photo'] as $photo){
$farm_id = $photo['farm'];
$server_id = $photo['server'];
$id = $photo['id'];
$secret = $photo['secret'];
echo "<img src='http://farm".$farm_id.".
static.flickr.com/";
echo $server_id."/".$id."_".$secret."_s.jpg'/>";
}
}else{
echo "呼び出し失敗!";
}
?>
今回は、flickr.photos.searchというメソッドを使いましたが、そのほかにいろんなメソッドがあります。http://www.flickr.com/services/api/オプションとして、lightboxと組み合わせるともっと格好いいアルバムをつくれるはずです。
1 comment so far
Leave a reply
[...] AppEngineでFlickr APIを使ってみよう Posted 7月 2, 2008 Filed under: API, Google | Tags: appengine, FlickrAPI, python | 前回はPHPとFlickrAPIを使って自分の写真を表示するようなことをやってみましたが、今回は最近人気上昇中のGoogleAppEngine(GAE)を使ってFlickrタグ検索をやってみたいと思います。GAEの説明はここでは省略します。が参考になるページを紹介します。 Google Code – Google App Engine さっそくHello Worldから作ってみた Google App Engine を使ってみよう [...]