flickrのAPIを使えるか

http://www.flickr.com/services/api/

とりあえずキーをもらう。
http://www.flickr.com/services/developer/api/

基本のreq url
http://www.flickr.com/services/api/request.rest.html

http://api.flickr.com/services/rest/?method=flickr.test.echo&name=value

画像をキーワードとかで拾ってきたい場合はたぶんこれか?
http://www.flickr.com/services/api/flickr.photos.search.html

英語を読むのがきつくなってきたので日本語解説を探す。
http://itpro.nikkeibp.co.jp/article/COLUMN/20061101/252356/

http://webservice.kabufuru.net/flickr/photosSearch.php
のサンプルにあるURLを試してみる。

http://www.flickr.com/services/rest/?method=flickr.photos.search&format=rest&api_key=[取得したキー]&per_page=20&license=1,2,3,4,5,6&extras=owner_name&text=%E7%8C%AB

で検索結果を画像にするには・・
http://webservice.kabufuru.net/flickr/photosUrl.php
http://www.flickr.com/services/api/misc.urls.html

http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}_[mstb].jpg

のようにするらしい。最後のmstbは

[mstb]はm,s,t,bいずれかを指定する事を意味していて、これは画像サイズを表しています。

とのこと。

http://farm4.static.flickr.com/3021/265070hoge_5a4d28hoge_m.jpg

さっきのリクエストで得られたXML

<photo id="5359095889" owner="11179848@N00" secret="02610019c8" server="5243" farm="6" title="at a nekoshima" ispublic="1" isfriend="0" isfamily="0" ownername="rahen z" /> 

をベースに組み立ててみると、
http://farm6.static.flickr.com/5243/5359095889_02610019c8_m.jpg

うん。出ますね。

あとはrequestに位置情報ありとかを指定したり、写真IDから位置情報取得したりできればとりあえずOKか。

位置情報ありは
has_geo=true
をつければよさげ。

試しに

http://www.flickr.com/services/rest/?method=flickr.photos.search&format=rest&api_key=APIKEY&per_page=20&license=1,2,3,4,5,6&extras=owner_name&text=tokyo&has_geo=true

で試してみる。

結果のひとつ

<photo id="5359476589" owner="80072069@N00" secret="9f1af36ae9" server="5086" farm="6" title="Center" ispublic="1" isfriend="0" isfamily="0" ownername="gullevek" />

を見てみると・・・

表示
http://farm6.static.flickr.com/5086/5359476589_9f1af36ae9_m.jpg

geo情報
http://www.flickr.com/services/api/flickr.photos.geo.getLocation.html
より、

http://www.flickr.com/services/rest/?method=flickr.photos.geo.getLocation&format=rest&api_key=[APIKEY]&photo_id=5359476589

でこういうのが返ってくる。

<?xml version="1.0" encoding="utf-8" ?> 
 <rsp stat="ok">
 <photo id="5359476589">
 <location latitude="35.562416" longitude="139.687531" accuracy="16" context="0" place_id="RR3n6c.bCZm8Fg72nA" woeid="28528238">
  <neighbourhood place_id="RR3n6c.bCZm8Fg72nA" woeid="28528238">Shimomaruko 2 Chome</neighbourhood> 
  <locality place_id="aod14iaYAJ1rDE.R" woeid="1118370">Tokyo</locality> 
  <county place_id="4cc8eVSYBJyrEKD7ig" woeid="15015506">Ota-ku</county> 
  <region place_id="V5QAdQebApgw_9XH" woeid="2345889">Tokyo Prefecture</region> 
  <country place_id="JOgKHwabApgvrbIuBA" woeid="23424856">Japan</country> 
  </location>
  </photo>
  </rsp>

うん。いけますね。


jsonpの場合

http://www.flickr.com/services/rest/?method=flickr.photos.geo.getLocation&format=json&api_key=[APIKEY]&photo_id=5359476589&jsoncallback=getCoord
getCoord({"photo":{"id":"5359476589", "location":{"latitude":35.562416, "longitude":139.687531, "accuracy":"16", "context":"0", "neighbourhood":{"_content":"Shimomaruko 2 Chome", "place_id":"RR3n6c.bCZm8Fg72nA", "woeid":"28528238"}, "locality":{"_content":"Tokyo", "place_id":"aod14iaYAJ1rDE.R", "woeid":"1118370"}, "county":{"_content":"Ota-ku", "place_id":"4cc8eVSYBJyrEKD7ig", "woeid":"15015506"}, "region":{"_content":"Tokyo Prefecture", "place_id":"V5QAdQebApgw_9XH", "woeid":"2345889"}, "country":{"_content":"Japan", "place_id":"JOgKHwabApgvrbIuBA", "woeid":"23424856"}, "place_id":"RR3n6c.bCZm8Fg72nA", "woeid":"28528238"}}, "stat":"ok"})