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 件のコメント:
コメントを投稿