flickr の画像URL仕様についてまとめ(Unavailable画像)

ちょっと調べれば日本語でもまとまっている情報ですが、
自分のために備忘録として書いておきます。

Flickrの画像URLを決定するには、以下の値が必要になります。
以下の値はAPIのレスポンスに含まれます。
  • farm ID
    • 画像が保存されているファームのID(数値)
  • server ID
    • 画像が保存されているサーバのID(数値)
  • 画像ID
    • 画像に対して付与されるID(数値)
  • Secret
    • farm ID, server ID, 画像ID から決まるHash値?(数値)
    • 画像URLを予測できないようにしてクロールされないようにするため?
  • Size -> サイズに関する仕様は古いです。画像サイズに関する仕様が若干追加されていたので、別エントリーにまとめました
    • m, s, t, bの4つのどれか
      • m = medium size (オリジナルと縦横比を保持して長い辺を240pxに)
      • s = small size (縦75px横75pxの正方形。中心部分をトリミング?)
      • t = tiny(?) size (オリジナルと縦横比を保持して長い辺を100pxに)
      • b = original size (オリジナルサイズ?上限はありそうだが。) 
これらの値を元に、以下のようなURLになります。
http://farm{farm}.static.flickr.com/{server}/{id}_{secret}_{size}.jpg 
例えば、
FarmID = 5
ServerID = 4055
ImageID = 4395133916
Secret = 943f53af87
Size = m
の画像URLは
http://farm5.static.flickr.com/4055/4395133916_943f53af87_m.jpg
となります。

ここで、
http://static.flickr.com/4055/4395133916_943f53af87_m.jpg
とfarm部分を省略したURLにすると、適切なfarmに302リダイレクトしてくれる。

farmやserver, image id, secretがすべて正しくても、
画像ownerが削除したり、公開設定を変更して非公開になった場合は、
エラー画像URLに301リダイレクトされる。エラー画像のURLは、
http://l.yimg.com/g/images/photo_unavailable_s.gif
で、404は返らずに"200 ok"が返ってくる
sの部分は、通常画像同様、サイズを表すパラメータ(m,s,t)が用意されている。
bは存在しない。photo_unavailable.gifにすれば通常サイズのものを取得できる

参考:
http://webservice.kabufuru.net/flickr/photosUrl.php

なお、ここにある情報は2010/03現在のものです。

人気の投稿