UP by jawboneのAPIを触ってみた

Amazonのタイムセール、凄かったですねー。
訳分かんないくらい安いのがいっぱいありました。

Amazon.co.jp 2016年 Spring Time Sale f:id:rela1470:20160328182804p:plain
中でも気になったのがこれ。

いわゆるフィットネスバンドです。
定価が16000円もするのに、3480円ですよ。すごい。

ただ個人的に腑に落ちないのは、
僕が一週間前のセールで買っちゃってるってことですね。
f:id:rela1470:20160328195037p:plain

いや、5800円でも充分安いんですよ?
でも2320円ってあれですよ。
いきなりステーキで熟成肉サーロインが230gも食べられるじゃないですか。

ということで、非常に悔しかったので飛び入りLTしてきました。
(ただし、本当に飛び入りだったので資料はない)
以下、お話したことのまとめです。


UP by jawboneのAPIについて

いろんな会社から出ているフィットネスバンドですが、
jawboneのUPはAPIが非常に充実しているんです。

APIのエンドポイントが多いのもそうですし、権限が広く取れるのも嬉しい。
更にWebhookにまで対応してくれるなんて、非常に夢が広がりますね!

簡単なAPIテストならコンソールが用意されています。
ここを弄るだけでも楽しいです。

自分で実装する際には、githubで先人の知恵を検索すると良いです。
僕はいつもPHPを触ってるので、PHP実装のこれを参考にさせていただきました。

開発者登録

さて、では開発者登録を行いましょう。
開発者登録は企業でも個人でも出来るとのことなので、僕は個人名で登録しました。
f:id:rela1470:20160328195039p:plain

アプリ登録

開発者登録できたら、次はアプリ登録を行いましょう。
f:id:rela1470:20160328195036p:plain 名前は全世界でユニークでないといけない?適当にprefix付けましたが、ちょっと面倒でした。
後はアプリURL、認証URL、認証後のリダイレクト先の登録必須です。
f:id:rela1470:20160328195038p:plain
登録出来たら公開鍵と秘密鍵が発行されるので、適宜メモりましょう。
(後からでも参照はできます)
f:id:rela1470:20160328195035p:plain

jawbone-oauth-phpの場合

config.phpを設定します。鍵周りとURL設定、どの権限が欲しいか等が定義されています。
f:id:rela1470:20160328195034p:plain
設定した後、connect.phpにアクセスすると、jawboneの権限承認画面に飛ばされるはずです。
f:id:rela1470:20160328195032p:plain
承認された場合、callback.phpに転送され(アプリ登録で設定したURL)、GETパラメータでトークンが送られているはずです。
jawbone-oauth-phpのデフォルト状態では、User情報を取得できていることと思います。
f:id:rela1470:20160328195030p:plain
僕の現在の体重は67.8kgということがわかりました。

callback.phpをいじって、更に歩数履歴も取ってみました。
f:id:rela1470:20160328195031p:plain
デフォルトでは10日分の履歴が取れました。
中でも面白いのが、snapshot_imageとして送られてくる画像URLです。
該当データのグラフ等をpngファイルで用意してくれています。
f:id:rela1470:20160328195033p:plain
prefixはhttp://jawbone.com/です。

まとめ

以上、触りだけですがAPIのご紹介でした。
ぜひ皆さんも触って、健康になってください!