しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

UP by Jawbone のライフログを Windows アプリで取得する(2)

UP by Jawbone のライフログを Windows アプリで取得する(1)の続きです

前回まででアプリの登録と公開ができたので、今度は OAuth 2.0 での認証をしていこうと思います

UP for Developers: Authentication

上記 UP の開発者向けサイトを見ると、おおよそ次のような流れで API にアクセスするようです

1. https://jawbone.com/auth/oauth2/auth へ次のクエリストリングとともにアクセスする

  • response_type=code:応答種別を「code」に指定する
  • client_id:登録しているアプリの「Client Id」を指定
  • scope:ユーザに許可を求めるアクセス範囲を半角空白区切りで指定

    ※具体的な指定値は長くなるので省略

  • redirect_uri:登録しているアプリの「OAuth redirect URLs」を指定

    https:// じゃないとダメらしい

2. UP アカウントサインイン画面に遷移するのでユーザにサインインしてもらう

3. サインイン後、登録アプリのアクセス許可を求める画面に遷移するのでユーザに許可してもらう

4. 「redirect_uri」で指定した URL に向けて「code」のクエリストリング付きでリダイレクトされる

5. https://jawbone.com/auth/oauth2/token へ次のクエリストリングとともにアクセスする

  • client_id:登録しているアプリの「Client Id」を指定
  • client_secret:登録しているアプリの「App Secret」を指定
  • grant_type=authorization_code:権限種別を「authorization_code」に指定する
  • code:4.で受け取った「code」の値を指定する

6. JSON で下記のようなアクセストークン情報が返ってくる

  • access_token:トークン文字列
  • token_type:トークン種別「Bearer」固定っぽい
  • expires_in: 有効期限(秒) 1年もつらしい
  • refresh_token:アクセストークンを更新するために利用するトークン文字列

7. アクセストークンを利用して各種 API にアクセスする

という感じらしいです

サインイン画面は WebView で表示すればよいですが、問題はリダイレクトです

リダイレクト先が https:// なので WebAuthenticationBroker の ms-app:// の Uri は使えない・・・さてどうするか

(3) に続きます!