flickr.photos.searchメソッドのレスポンス結果から画像URLを作成する
前回はFlickrAPIが提供している画像検索メソッド flickr.photos.search について説明しました。
リクエストとレスポンスの例をもう一度書いてみます。(「猫」に関連する画像をAPIに要求しています。)
(*[取得したキー]の部分は皆さんのFlickrAPIキーに置き換えてください。)

今回は、このレスポンス結果について説明します。
実際に欲しい情報は、今回の例の場合、「猫」に関連する画像URLや著作者URLなどです。
しかし、レスポンス結果には画像URL情報がありませんので、レスポンス結果の情報から画像URLに変換してあげる必要があります。
この変換についても、実際に例をあげて説明する方が解りやすいと思います。
例えば、下の黒枠の文字がレスポンスの一部分でこれが一枚の画像情報を表しています。
試す場合は、以下の変換フォーマットに習って自分でリクエストして得たレスポンスを使用して確認してみてください。)
ここで変換フォーマットを説明しますと下の通りです。
上記の例の場合、それぞれ4,3021,265070hoge,5a4d28hogeにあたります。
また、[mstb]はm,s,t,bいずれかを指定する事を意味していて、これは画像サイズを表しています。
上記の例の場合、mediumサイズの'm'を指定しています。
リクエストとレスポンスの例をもう一度書いてみます。(「猫」に関連する画像をAPIに要求しています。)
(*[取得したキー]の部分は皆さんのFlickrAPIキーに置き換えてください。)
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

今回は、このレスポンス結果について説明します。
実際に欲しい情報は、今回の例の場合、「猫」に関連する画像URLや著作者URLなどです。
しかし、レスポンス結果には画像URL情報がありませんので、レスポンス結果の情報から画像URLに変換してあげる必要があります。
この変換についても、実際に例をあげて説明する方が解りやすいと思います。
例えば、下の黒枠の文字がレスポンスの一部分でこれが一枚の画像情報を表しています。
<photo id="265070hoge" owner="hoge3652@N00" secret="5a4d28hoge" server="3021" farm="4" title="D01_9814" ispublic="1" isfriend="0" isfamily="0" ownername="hoge_owner" />
そして、この画像のURLは下のようになります。
http://farm4.static.flickr.com/3021/265070hoge_5a4d28hoge_m.jpg
(*この例はサンプルで実際に存在しないid,secretの値を使用していますので画像urlも実際は存在しません。試す場合は、以下の変換フォーマットに習って自分でリクエストして得たレスポンスを使用して確認してみてください。)
ここで変換フォーマットを説明しますと下の通りです。
http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}_[mstb].jpg
{farm-id}、{server-id}、{id}、{secret}はそれぞれレスポンスのfarm,id,server,secret属性の値の事です。上記の例の場合、それぞれ4,3021,265070hoge,5a4d28hogeにあたります。
また、[mstb]はm,s,t,bいずれかを指定する事を意味していて、これは画像サイズを表しています。
上記の例の場合、mediumサイズの'm'を指定しています。
flickr.photos.searchメソッドのレスポンス結果から画像元URL、著作者URLを作成する
画像URLと同様にAPIのレスポンス結果から画像元URL(ソースページ)、著作者情報ページのURLも取得できます。
画像元URLの変換フォーマットは下の通りです。
ですので、上記の例の場合、owner属性の値はhoge3652@N00、id属性の値は265070hogeですので、画像元URLは下のようになります。
試す場合は、自分でリクエストして得たレスポンスを使用して確認してみてください。)
著作者プロフィールページURLの変換フォーマットは下の通りです。
ですので、上記の例の場合、owner属性の値はhoge3652@N00ですので、著作者プロフィールページURLは下のようになります。
試す場合は、自分でリクエストして得たレスポンスを使用して確認してみてください。)
参考URL:Flickr Document
画像元URLの変換フォーマットは下の通りです。
http://www.flickr.com/people/{user-id}/{id}
{user-id},{id}はそれぞれレスポンスのowner属性、id属性の値になります。ですので、上記の例の場合、owner属性の値はhoge3652@N00、id属性の値は265070hogeですので、画像元URLは下のようになります。
http://www.flickr.com/photos/hoge3652@N00/265070hoge
(*この例も実際に存在しないowner,idの値を使用していますのでurlも実際は存在しません。試す場合は、自分でリクエストして得たレスポンスを使用して確認してみてください。)
著作者プロフィールページURLの変換フォーマットは下の通りです。
http://www.flickr.com/people/{user-id}/
{user-id}はレスポンスのowner属性の値になります。ですので、上記の例の場合、owner属性の値はhoge3652@N00ですので、著作者プロフィールページURLは下のようになります。
http://www.flickr.com/photos/hoge3652@N00/
(*この例も実際に存在しないownerの値を使用していますのでurlも実際は存在しません。試す場合は、自分でリクエストして得たレスポンスを使用して確認してみてください。)
参考URL:Flickr Document