Ruby を使って Fitbit API で遊んでみた
ハイテク万歩計の Fitbit One を購入して遊んでいる。
ゲーミフィケーション的な要素があり、日頃の運動不足解消に一役かっている。
Fitbit 自体は、体重や体脂肪、睡眠時間や摂取カロリーなど健康に関する数値のデータベースを目指しているように見える。
最近の Web サービスらしく RESTful API を提供しており、データを流し込むことができるため、別サービスに貯めていた体重と体脂肪を Fitbit にインポートしてみた。
インポータ
実行には、Ruby と Bundler が必要。
OAuth の登録
dev.fitbit.com にアクセスして、consumer キーと consumer secret を取得しておく。
準備
$ git clone git://github.com/mallowlabs/fitbit-weight-importer.git $ cd fitbit-weight-importer $ bundle install --path .bundle $ cp config/fitbit.yml.example config/fitbit.yml $ vim config/fitbit.yml consumer / consumer key を記述する
CSV のフォーマット
以下のフォーマットで体重と体脂肪を準備する。
"Date","Weight","Fat" "2012-09-09","54.80","16.90" "2012-12-09","56.30","17.00"
技術的な話
Fitbit API は素直な OAuth + RESTful API なので難しいことは何もない。
https://wiki.fitbit.com/display/API/Fitbit+API
とはいえ、クライアントライブラリがあると便利である。
公式で紹介されているクライアントライブラリは、Java / PHP / .NET しかないが、 Ruby の 3rd パーティのライブラリとして Fitgem がある。
ドキュメントも充実しているため、http://www.fitbitclient.com/ を読めば困ることはないだろう。
この記事を読んで興味を持った方は Fitgem を使って何かサービスを作ってみてください!