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 へ次のクエリストリングとともにアクセスする
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 にアクセスする
- アクセス先は https://jawbone.com/nudge/api/users/@me など
HTTP ヘッダの「Authorization」下記の値を追加する
Bearer {アクセストークン文字列}
という感じらしいです
サインイン画面は WebView で表示すればよいですが、問題はリダイレクトです
リダイレクト先が https:// なので WebAuthenticationBroker の ms-app:// の Uri は使えない・・・さてどうするか
(3) に続きます!