201116日にデベロッパー登録が不要になったばかりのロケタッチAPIをRubyから呼び出してみます。インストールロケタッチAPIは認証にOAuth2を利用しているので、利用するためにgemをインストールします。installして入るバージョンには問題があるため、Bundlerを利用してGitHubにある最新バージョンを利用します。installを実行します。Secretを取得します。認証ここではWebアプリケーションでロケタッチAPIを利用するときの認証について説明します。認証は以下の流れで行います。最後に取得するアクセストークンを使ってAPIの呼び出しを行います。authorize_urlの生成ユーザが認証の操作を行うページのURL(authorize_url)を生成します。redirect_uri)authorizeurl/tokenurlはurlですがredirect_uriはuriになっています。なんでこんな仕様なのかよくわかりませんが、ミスしやすいので要注意。生成したauthorize_urlにリダイレクトします。Sinatraであれば以下のような記述でリダイレクトできます。authorize_urlendcodeの受け取りユーザによる認証が完了すると、リダイレクトによってredirecturiが呼び出されます。この時、引数としてアクセストークンの取得に必要となるcodeが付加されています。redirecturiが”http://example.com/auth/callback”に設定されている場合、“http://example.com/auth/callback?code=...”にリダイレクトされます。先ほどのcodeを使ってアクセストークンを取得します。戻り値のアクセストークンオブジェクトを利用してAPIを呼び出します。access_token.tokenaccess_token.tokenの返す値を保存しておけば、再度認証を行うことなくAPI呼び出しが可能です。以下のコードでは、保存しておいたトークンからアクセストークンオブジェクトを生成しています。header_format)API呼び出しgetメソッドでGET、postメソッドでPOSTリクエストをそれぞれ実行します。自分の情報を取得する/v1/users/@selfであれば以下のような感じ。戻り値はOAuth2::Responseクラスのオブジェクトですが、そのままparsedメソッドを呼んであげるとjsonをパースしてHashとして返してくれます。access_token.get('/v1/users/@self').parsedパラメータが必要な場合は、以下のように第2引数のハッシュにparamsを渡します。}).parsedAPIの詳細についてはAPI一覧をご覧ください。サンプル簡単なサンプルを作成してみました。1.9.2で動作を確認しています。