API仕様
API仕様は、このページで確認できます。APIコールには、APIキーが必要です。APIキーを取得するには、Flickrでユーザー登録後、アプリ作成のページから発行できます。
※ 「Get you API key」の「Request an API key」からAPIキーを取得できます。アプリのタイプは、Non-Commercial(非商用)。アプリ名などは「Sample」とでも入れておけばAPIキーが発行されます。
※ 「Get you API key」の「Request an API key」からAPIキーを取得できます。アプリのタイプは、Non-Commercial(非商用)。アプリ名などは「Sample」とでも入れておけばAPIキーが発行されます。
PHPサンプル
今回は、PHPでサンプルを作ってみることにしたので、PHPからfclikrのAPIをphpFlickrを使っています。phpFlickrは、サイトから最新版をダウンロードしてください。<html> <body> <h1>Flickr CC Serach</h1> <form method="get"> <input type="text" name="q" value="<?php echo @$_GET['q']; ?>"><button type="submit">Search</button> </form> <hr> <ul> <?php include_once 'phpFlickr/phpFlickr.php'; define('API_KEY', '** Your API key'); define('API_SECRET', '** Your API key secret'); $result = null; if (isset($_GET['q'])) { $flickr = new phpFlickr(API_KEY, API_SECRET); $result = $flickr->photos_search(array( "text" => $_GET['q'], "per_page" => 200, "license" => "1,2,3,4,5,6", "sort" => 'relevant' )); } if ($result) { foreach ($result['photo'] as $photo) { ?> <li style="float: left; margin: 0 10px 10px 0;"> <a target="_blank" href="http://farm<?php echo $photo['farm']; ?>.static.flickr.com/<?php echo $photo['server']; ?>/<?php echo $photo['id']; ?>_<?php echo $photo['secret']; ?>.jpg" title="<?php echo $photo['title']; ?>"> <img src="http://farm<?php echo $photo['farm']; ?>.static.flickr.com/<?php echo $photo['server']; ?>/<?php echo $photo['id']; ?>_<?php echo $photo['secret']; ?>_s.jpg"> </a> </li> <?php } } ?> </ul> </body> </html>
URLの組み立て方が少しトリッキーですね。
実行するとこんな感じになります。
photos_search メソッドに指定できるパラメータは、こちらのページでも確認できますが、いくつかピックアップしてみたので参考にしてみてください。
tags - タグ(カンマ区切りで複数)
text - 検索キーワード(フリーワード)
min_upload_date - アップロード日From (YYYY-MM-DDかUNIXタイムスタンプ)
max_upload_date - アップロード日To
min_taken_date - 撮影日From(たぶんExifベース)
max_taken_date - 撮影日To(たぶんExifベース)
license - flickr.photos.licenses.getInfo のサンプルにあるIDをカンマ区切りで指定します。"1,2,3,4,5,6"を指定すれば、すべてのCCライセンスを取得できそうですね。
sort - ソート順 (date-posted-asc|date-posted-desc|date-taken-asc|date-taken-desc|interestingness-desc|interestingness-asc|relevance)
safe_search - セーフサーチ (1:for safe, 2:for moderate, 3:for restricted.)
machine_tags - おそらくExifベースで設定されたタグから検索できるだんと思います
machine_tag_mode - ?
lat - 撮影された場所の緯度(Exifベース)
lon - 撮影された場所の軽度(Exifベース)
per_page - 1ページ内の表示件数
page - ページ
0 件のコメント:
コメントを投稿