ぽじてぃぶしんきんぐ

2年目エンジニアのブログ。備忘録と趣味の垂れ流し。

楽天ブックス書籍検索APIをSwift2.0で使ってみた with SwiftyJSON

楽天API

まずは楽天APIから。本当はAmazonを使いたかったんですがiOSアプリでは利用できないようなので、楽天を利用することにしました。webservice.rakuten.co.jp

利用には会員登録が必要だったので、まずは新規会員登録を済ませて・・・。

「アプリID」の発行をクリック。アプリ名とアプリURLの入力を求められた。アプリURLなんて、今デバッグ開発中だからそんなもんはない。適当にこのブログのURLをぶちこんどいたら、無事突破。アプリIDゲット。

リクエストURLの作成

僕が想定している使い方として、書籍のタイトルと著者名を入力したら購入のURLがでてくるというものでしたので、ひとまずどんな感じのURLでリクエストして、どんなJSONが返ってくるのかを見るために下記APIテストフォームで確認することに。

楽天ウェブサービス(RAKUTEN WEBSERVICE) : APIテストフォーム

ふむふむ、「https://app.rakuten.co.jp/services/api/BooksBook/Search/20130522?format=json」この部分は固定で、&区切りで「title=」とか「author=」をつなげていけばいいわけか。しかし、タイトル文字列がよくわからない%がたくさん入っている文字列になっている。上記URLのタイトルのところにマウスオーバーすると、「文字列をUTF8でURLエンコーディングする」とかなんとか書いてある。なるほど、なんとなくわかった。URLエンコーディングの方法を調べてみると、発見。qiita.com

こちらを参考に検索文字列をエンコードしたらそれっぽいリクエストURLができた。

JSONの処理

SwiftJSONを扱うには、SwiftyJSONを使うと良いらしい。github.com
ダウンロードしてきて、SwiftyJSON.swiftのファイルを利用したい自分のプロジェクトにコピーするだけで使えるようになりました。簡単。

使い方を参考にしたのはこのサイト。noumenon-th.net
なるほど、たしかに簡単に扱える。デバッグしつつやっていけば詰まることはなさそう。これは楽しい。

まとめ

楽天APIは簡単に使えるし、SwiftyJSONは神がかって簡単に使えて最高でした。何か質問があればコメントください。