Fitbit

FitbitAPI BMI、体重データを取得する

投稿日:

体脂肪率と同様にオプション的な扱いだが、Fitbit では 体重、BMI を記録、閲覧できる。
体脂肪率と体重・BMI の両方を取得するにはそれぞれ異なるAPIを叩く必要があるが、これは計測機器への配慮だろう。体重・BMIと体脂肪率を一度に取得するということは、体重・BMI・体脂肪率が全て揃っていることが前提となり、両方測定できる体組成計があることを前提としなければならない。

体重だけであればかなり安価な計測機器があるはずだ。一方で、安価な体重計とWiFi機能の組み合わせは不釣り合いという事情がある。これもIoTのジレンマかな。

※実際は、体脂肪率データが一緒に記録された場合、このAPIによって体重、BMI、体脂肪率を1度に取得できる。FitbitAPIは仕様との互換性を保ちつつ便利な方向に拡張される傾向がある

API概要

体重・BMIを取得するRESTfulAPI は以下の通り3パターン用意されている。

parameter format meaning
date yyyy-MM-dd データの日付
base-date yyyy-MM-dd [period]が指定された場合は指定期間の末尾を指定する。
[end-date]が指定された場合は指定期間の最初を指定する。
period 1d, 7d, 30d, 1w, 1m 取得範囲を指定する。1d=1日, 7d=7日, 30d=30日, 1w=1週間, 1m=1か月。1か月と30日が別に用意されていて親切だ。
end-date yyyy-MM-dd 指定期間の末尾を指定する。

データの取得期間は31日を超えてはならない。単位系はHTTPヘッダに付与したAccept-Languageによる。日本は”ja-JP”である。

レスポンス

レスポンスのスキーマは以下の通りである。

key format meaning
bmi XX.X BMI値、(formatは有効桁数を表すと思われる)
date yyyy-MM-dd データ日付
weight X.XX 体重値 (formatは有効桁数を表すと思われる)
logId ログID、ユーザ毎にユニークだが、グローバルにユニークではない
time H:i:s 計測時刻 (Time of the mesurement) 計測機器がサポートしない場合は前日の最終時刻。
source Aria,Withthings,APIなど 計測装置、入力経路の識別子、[オプション] API経由で入力すると”API”が設定される

1日に数回計測した場合の扱いは計測装置の事情によるようだ。Withthingの場合、複数回計測すると最後の値で上書きされる。朝と夜、2回の計測は必須だと思うが、残念ながら計測装置によって目的を達成できない

実行例

最初の書式を叩いてみた。この日は2回計測したのだがデータは1個だけである。上記で説明したスキーマ以外に体脂肪率も付いてきた。仕様通りbmiとweightについては有効桁数が考慮されている。一方、体脂肪率は考慮されていない。

2個目の書式を叩いてみた。「2016-06-14を末尾として1週間取得する」という意味。

-Fitbit
-, , ,

Copyright© ikuty.com , 2024 AllRights Reserved Powered by AFFINGER4.