Fitbit Hacks
⌚FitbitのWeb APIについての話題や, データ分析の話題.
Fitbitデータの取得
- web uiからダウンロード: https://www.fitbit.com/settings/data/export
- 問題が発生してダウンロードできず(2023/06).
- 🔌Fitbit Web APIから取得.
Fitbit API
4種類ある.
- Device API: 時計のカスタマイズ
- Companion API
- Settings API
- 🔌Fitbit Web API: REST API endpoints.
🔌Fitbit Web API
- Doc: https://dev.fitbit.com/build/reference/web-api/
- Forum: https://community.fitbit.com/t5/Web-API-Development/bd-p/dev
- 管理画面: Login
Limitations
- 1時間あたり150リクエスト.
- アクセストークンは8時間で失効.
- 失効時はリフレッシュ・トークンを使って再取得が必要.
認証
- dev.fitbit.comにアプリを登録してをAPIキーを取得.
- Client ID
- Client Secret
- 📝OAuth認証でアクセストークンを取得.
- マニュアルでのToken取得は以下のフォームからできる: OAuth 2.0 Tutorial.
- プログラムで取得するにはライブラリを使うのがいい(自前で取得はたいへん).
- Tokenの有効期限は8時間なのでリフレッシュする必要がある.
- dev.fitbit.comにrefersh token request URIがある.
エンドポイント
- 睡眠:
- ECG
Examples
- 直近1週間の心拍数をゾーン別に取得
Fitbit Web API/GAS連携
References
最新情報はDeveloper Blogから.
- 7 New Data Types in Fitbit Web API
- 2022/12から以下の7つが新たに取得可能.
- ECG, SpO2, HRV, BR, Temperature, VO2Max, AZN
Fitbit Libraries
- Node.js
- fitbit4j
🔧python-fitbit
https://github.com/orcasgit/python-fitbit
v1.2には追加対応が必要
いちおう動くけど昔からメンテされてない. たとえばversionが1.0であるが今はv1.2. version1.0なので1.2に書き換えるにはソースコードをいじる.
🔍Fitbit データ分析
- How To Obtain And Analyse Fitbit Sleep Scores | by Jonas Benner | Aug, 2020 | Medium | Towards Data Science
- How I analyzed the data from my FitBit to improve my overall health
- fitbitのデータを可視化してみる - Qiita
- PowerBIによる可視化.
Topics
💡Fitbit Device Connect
これはプライベート有料サービスだな.. セールス担当者への問い合わせが必要.
PoCみたいなコードをみつけた.
- https://github.com/GoogleCloudPlatform/deviceconnect
- https://github.com/GoogleCloudPlatform/deviceconnect/tree/main/docs/source
仕組みとしては,
- 🔖GCRからScheduler経由で定期的にFitbit APIを叩いて🔖BigQueryに格納.
- APIから取得したデータを加工して📝pandasにいれたあとにbqにupload.
- firestoreは認証情報を保存しているだけのようだ.
- 🔖Looker Studioで可視化.
🔗References
Fitbit API
- FitbitのWeb APIを実行する方法
- 【GAS】FitbitのWebAPIで歩数データを取り出してみよう! | システムをクラフトする日々
- FitbitのAPIを手っ取り早く試してみる方法 - Qiita