昨日のエントリでは、PythonのLibraryを使ってInstagram APIにアクセスする
サンプルアプリを動かしたが、OAuthで認証した後、JSONのパースでErrorが出ていた。
今日は、Errorの原因がパース出来ないようなJSONのデータが返ってきてるのか、それとも単にJSONをパースしている
simplejsonの問題なのか当たりをつけるべく、同じく公開されているRubyのLibraryを使ってアクセスする
サンプルアプリを動かすことにする。
まず、準備としてsinatra, instagram, pitをgemインストールしておく。ちなみに、ruby1.9.3を使う。
$ gem install sinatra $ gem install instagram $ gem install pit
Instagram APIのサイトで、Manage Clientsの中のRedirect URIにhttp://localhost:4567/oauth/callbackを
指定しておく。
上記を準備し、以下のサンプルアプリを起動し、ブラウザからhttp://localhost:4567にアクセスする。
Connect with Instagramのリンクをクリックすると、認証のページにリダイレクトされ、アプリの連携許可を実施。
許可されるとアクセストークン取得のためのコードが戻ってくるので、コードとリダイレクトURIを含めて
アクセストークンを要求、取得する。取得したアクセストークンを使って、今回のサンプルでは、recent photosをサムネイルで
表示する。この辺りのOAuth2.0の仕組みは、ここがわかりやすかった。
おお、確かに写真が取れるな。JSONのパース、simplejsonで何か起きているのだろうか。