foursquareで新しいアプリケーションを登録/認証する

foursquareに自作のアプリケーションを登録し認証する手順について。具体的な手順はここを参照。
最終的には自分のアプリケーションが利用する「アクセストークン」を入手するのが目標。foursquareの機能(場所の検索やチェックインなど)を利用する際は、機能ごとのURLにアクセストークンを付加してアクセスすることになる。例えば、venue(id:5104)の情報を取得する際は以下のようにする。


https://api.foursquare.com/v2/venues/5104?oauth_token=XXX

  • アプリケーションを登録する

    https://ja.foursquare.com/developers/appsを開き、「新しいアプリをつくる」をクリックしてアプリを追加する。アプリケーション名とコールバックURLが必要。(認証過程でコールバックURLにリダイレクトされるので、利用可能なURLを指定すること。)

    foursquare_oauth1

  • アプリケーション情報を取得する
    foursquareから以下の情報が与えられる
    ・Client ID
    ・Client Secret
    foursquare_oauth2_x

    以下の手順は本来プログラムを書いて対応すべきだが、今回はテストを兼ねて、自分でブラウザを使って実施してみる。

  • ユーザをfoursquareの認証URLにリダイレクトする
    その際、先に入手したClient ID・Client Secretと、自分で指定したコールバックURLを指定する。(以下、大文字の部分が自分で設定する箇所)

    
    https://foursquare.com/oauth2/authenticate?client_id=YOUR_CLIENT_ID
    
      &response_type=code
      &redirect_uri=YOUR_REGISTERED_REDIRECT_URI
    

    移動すると以下のページが開く。
    foursquare_oauth3_x

  • ユーザの許可を得る
    ここは必ず人手を介する部分で、上記の画面で、ユーザがアプリの接続を許可すると、コールバックURLに移動する。その際にアクセスコードが付加される。(ブラウザのアドレスバーで確認できる。)

    
    https://YOUR_REGISTERED_REDIRECT_URI/?code=CODE
    
    

    foursquare_oauth4_x

  • アクセスコードを使ってアクセストークンを取得する
    上記で得られたコード(とその他のアプリケーション情報)を指定して、以下のようにfoursquareにリクエストを投げる。

    
    https://foursquare.com/oauth2/access_token
    
      ?client_id=YOUR_CLIENT_ID
      &client_secret=YOUR_CLIENT_SECRET
      &grant_type=authorization_code
      &redirect_uri=YOUR_REGISTERED_REDIRECT_URI
      &code=CODE
    

    このリクエストに対し、JSON形式でアクセストークンが返される。

    { access_token: ACCESS_TOKEN }
    

    foursquare_oauth5_x

  • アクセストークンを保存しアプリケーションで利用する
カテゴリー: Tips タグ: パーマリンク