FitbitAPI Activityデータを時系列で取得する

API概要

ドキュメントはこちら。このAPIを使用することで、Fitbitが管理している各種Activityデータを時系列に取得できる。取得できるActivityデータは大きくactivity系とtracker系の2種類に分類され、それぞれ以下のように分類されている。

Fitbitデバイスの運動計測機能をtrackerと呼び、純粋に運動計測機能により取得したデータをtracker系で取得するようだ。また、その上位層として、手動入力値等の追加データを含むデータをactivity系で取得するようだ。

activity系

key means of value
activities/calories 消費カロリーの集計値。基礎代謝(BMR)とtracker系消費カロリー、および手動入力された消費カロリーの合計
activities/caloriesBMR 基礎代謝(BMR)の集計値。Fitbitデバイスが計測したデータに基づき計算された値
activities/steps 歩数
activities/distance 距離
activities/floors 縦方向の移動の階数表現
activities/elevation 縦方向の移動距離
activities/minutesSedentary 強度により4個に分類された運動強度のうち1レベル目(最弱)の運動時間
activities/minutesLightlyActive 2レベル目の運動時間
activities/minutesFairlyActive 3レベル目の運動時間
activities/minutesVeryActive 4レベル目の運動時間(最強)
activities/activityCalories Sedentaryレベル以上の運動強度について1分毎に計算された消費カロリー。基礎代謝(BMR)や手動入力を含む。

tracker系

key means of value
activities/tracker/calories Fitbit trackerにより計測された基礎代謝を含む消費カロリー。手動入力は含まない。
activities/tracker/steps Fitbit trackerにより計測された歩数
activities/tracker/distance Fitbit trackerにより計測された距離
activities/tracker/floors Fitbit trackerにより計測された縦方向の移動の階数表現
activities/tracker/elevation Fitbit trackerにより計測された縦方向の移動距離
activities/tracker/minutesSedentary 強度により4個に分類された運動強度のうち1レベル目(最弱)の運動時間
activities/tracker/minutesLightlyActive 2レベル目の運動時間
activities/tracker/minutesFairlyActive 3レベル目の運動時間
activities/tracker/minutesVeryActive 4レベル目の運動時間(最強)
activities/tracker/activityCalories Fitbit trackerにより計測されたSedentaryレベル以上の運動強度について1分毎に計算された消費カロリー。基礎代謝(BMR)を含む。手動入力は含まない。

Fitbit Charge/Fitbit Charge HR 保護カバー (Dark Purple)

API詳細

RESTfulAPIの書式は2通りある。以下は取得日付が1日のみの場合。

開始日時、終了日時を指定し、2日以上の時系列データを取得することもできる。

いずれの形式ともに、resource-pathとして、API概要にて示した key 値を指定する。


実行例

それでは実行例を紹介する。まず、今日(today, 2016/06/09) の activities/calories を取得してみる。 activities-calories-intraday という1日分の非常に詳細なデータも付いてくるが本エントリでは省略する。次回紹介。

次に、今日(today)と、1週間(1w) を合わせて activities/calories を取得してみる。すると、今日を末日とする1週間分の消費カロリーを取得できた。1w を指定した場合、1日分の詳細データ activities-calories-intraday は出力されなかった。

基礎代謝(BMR)を期間を指定して取得してみる。一定値ではなかった!。Fitbitはtrackerから基礎代謝を計算で求めているということのようだ。すごいすごい。

activities/tracker/calories を1日だけ取得してみる。today を指定すると1日分の詳細データが含まれていたが、期間指定により1日分を指定すると詳細データが含まれない。今回のケースでは、activities/calories と activities/tracker/calories は同一値(2834)である。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする