読者です 読者をやめる 読者になる 読者になる

しっぽを追いかけて

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

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

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

Windows ランタイムアプリ ウェアラブル デバイス

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) に続きます!