Help us understand the problem. What is going on with this article?

(初心者向け)Flickr Apiを使って画像を引っ張ってくる(1)

More than 1 year has passed since last update.

~API Documentationの中身を見る編~

自分向けメモな意味合いを含めて、画像たくさん使って説明します。
最終的にやりたいことを画像をひっぱってくることですが、それをするにはいくつかのステップを踏む必要があります。
すごく単純にまとめてしまうと、

  • apiKeyを使って、request用URLを作成
  • 帰ってきたresponseであるjsonファイルを見て、必要な情報だけを指定する。
  • 指定した情報をメモリに保存。
  • 表示する。

1. api登録

まずはフリッカーのapiサイトでyahoo.comのアカウントを取得して、apikeyをゲットしてください。
Screen Shot 2017-07-05 at 7.06.59 PM.png

無事ログインできたら、こんな画面になるので、apikeyはこちらでGetできる。
Screen Shot 2017-07-05 at 7.11.55 PM.png

2. requestを送るためのURLを作成する

A. URLってなんやねん

こんな感じのURLです。▲▲▲▲▲▲▲はapiKey

 https://api.flickr.com/services/rest?api_key=▲▲▲▲▲▲▲▲(method=flickr.interestingness.getList&format=json&nojsoncallback=1&extras=url_h,date_taken

URLを分解してみてみましょう。
Screen Shot 2017-07-06 at 11.43.51 AM.png

① Rest でリクエストを送るためのフォーマット(urlの冒頭)

ドキュメント:https://www.flickr.com/services/api/request.rest.html

② 上記で取得したApiキー
③ どういった画像が欲しいか指定する。上の場合、 “interestingness” = 面白い という意味なので、興味深い画像が帰ってくる感じ

ドキュメント:https://www.flickr.com/services/api/flickr.interestingness.getList.html
ちなみに、他のメソッドが使いたい場合は、トップページにあるAPI Methods一覧を見るといいですよ〜。

④ データのフォーマットを指定する。この場合JSON。指定しなければ、デフォルトでxmlが帰ってくる
⑤ nojsoncallバックを指定する
⑥ 帰ってくるデータの中に、画像のurlと撮った日付を含める

METHODがflickr.interestingness.getListの場合、画像URLと撮った日付が帰ってこないので、EXTRASで指定する必要がある。

B. どんなJSONデータが帰ってくるの?

こんなです。(firefox)
画像URLだけ別タブで開いて見て、ちゃんと欲しい画像が表示されれば、成功!
Screen Shot 2017-07-05 at 7.28.14 PM.png

C. API ExplorerでURLのテストしてみる

URLを直打ちしてテストしてもいいのですが、面倒!
なので、Flickrが提供しているApi Explorerを使おう。
https://www.flickr.com/services/api/explore/flickr.interestingness.getList

このように入力すれば、Bの画像と同じ結果が返ってくるはず。
Screen Shot 2017-07-06 at 12.13.18 PM.png

じゃ早速(やっと)コードを書いていきましょう、それは次号で!

え、待てないんだけど、という人は完成をどうぞ。
https://github.com/Saayaman/FlickrApi

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away