JavaScriptからFlickr APIで任意のphotoset(セット)を取得

Flickr APIflickr.photosを使うことで、

  • 特定ユーザーの写真
  • 特定タグの写真
  • 特定エリアの写真

などの取得ができるよう。


参考:
第2回 JavaScriptからFlickr APIで画像検索 - マッシュアップ・ラボ:ITpro


で、任意のphotosetを取得するのをやってみる。

■デモ↓
http://2244.jp/_demo/flickr/01/


上記のURLのHTML、JSともに銀座方向に感謝の気持ちを送りつつ流用させていただいて、

flickr.js

param.method   = 'flickr.photos.search';

param.method   = 'flickr.photosets.getPhotos';
if ( ! data.photos ) return;
var list = data.photos.photo;

if ( ! data.photoset ) return;
var list = data.photoset.photo;

HTML

<script type="text/javascript">
window.onload = function () {
photo_search({ user_id: '86433032@N00'});
}
</script>

<script type="text/javascript">
window.onload = function () {
photo_search({ photoset_id: '72157601432046192' });
}
</script>

※photoset_idは、
例:http://www.flickr.com/photos/fujimori1981/sets/72157601432046192/
なら、sets/〜の数字の部分。

取得する画像サイズ

それぞれの写真の接尾に応じて、取得できるサイズが違う。
(上記サンプルなら、flickr.js内の「'/'+photo.id+'_'+photo.secret+'_s.jpg';」の'_s.jpg'部分)

_s.jpg Square (w:75px x h:75px)
_t.jpg Thumbnail (max:100px)
_m.jpg Small (max:240px)
.jpg Medium (max:500px)
_b.jpg Large (max:1200px)
_o.jpg 元画像サイズ

「max:〜」は横長画像ならw=max、h:なりゆき、同様に縦長ならw:なりゆき、h:max


※ 微妙に困ったのが、写真投稿者ユーザーIDの調べ方。これはプロフィール画像のURLをみると分かった。