見出し画像

【Claude Code×Fitbit】振り返りをAIに任せて習慣化にする方法

Fitbitを長く着け続けていると、自分の健康データの傾向が見えてきます。と、かっこいいことを言いたい私ですが、最初に購入したモデルを睡眠時に装着した時、装着感が気になってしまい、数日でやめてしまった過去があります。。

しかし、最近 Fitbit Airシリーズが登場し、睡眠時にも気にならずに装着できるようになりました。着けて寝れる、、Airモデルは、本当に素晴らしいです。

お気に入りのAirモデル (日に焼けたなあ..)

この調子でいけば、データが蓄積すればするほど、自分だけの信頼できるデータとして、日常に活かせそう!ということで、FitbitのデータをGoogle Health APIを経由して、Claude codeで取得し、曜日別で睡眠スコアと心拍変動の傾向をグラフにしてもらいました。

(現在、私はClaudeのProプランのサブスクリプションをしております。Claude codeの活用は、Proプラン以上の登録をするか、APIを使用する必要があります)

すると、私の場合、水曜日が調子悪い傾向にあることが確認。こういう自分で気づけないようなことをフィードバックしてくれるのが何よりの魅力です。

2024年からのデータ(約120日分)の曜日別データ

今ではClaude codeのスキルを活用し、「Fitbit考察して」と打つだけで、睡眠、心拍変動(HRV)、歩数、安静時心拍の表と、考察が返ってくるようにしました。

この調子で蓄積していくことで、週、月、年単位と身体の調子を可視化することができます。例えば、rmssdという指標は、年齢をとるにつれて、減少していくような傾向が見られるため、そういう動きも自分の身体で確認できるかもしれません。

このような背景の中、この記事では、その土台になるGoogle Health APIとの連携、データ取得、考察までの流れを、私が実際につまずいたポイントも含めて紹介します。

(Claude codeを導入していない方は少し堅苦しく感じるかも知れません。。すみません!)

プログラミングに詳しくなくても、流れがイメージできるように図解イラストも挟みながら進めますね。

全体像:データはどう流れているのか

まず仕組みの全体像です。登場人物は4つ。Fitbit、Googleのクラウド、自分のPC、そしてClaude Codeです。

FitbitデータをClaude Codeが考察するまで

流れはこうです。

  1. Fitbitが計測した睡眠・心拍などのデータは、スマホアプリ経由でGoogleのクラウド(GCP)に同期される

  2. そのデータを、Google Health APIという窓口を通じて自分のPCに取り寄せる

  3. PC上の小さなPythonスクリプトが、データを整形して表にする

  4. Claude Codeがそのスクリプトを実行し、結果を読んで考察を書く

ポイントは、AIに丸投げするのではなく「データを取ってくる道」を一度だけ自分で開通させておくこと。この設定さえできれば、あとの実行と考察は全部Claude Codeがやってくれます。

FitbitのAPIは「Google Health API」に変わった

少しだけ背景の話をします。以前はFitbitのデータを取るには「Fitbit Web API」という窓口を使うのが定番でした。しかしFitbitがGoogleに統合された流れで、現在はその後継としてGoogle Health API(v4)が用意されています。

ネットで「Fitbit API」と検索すると旧方式の記事がたくさん出てきますが、この記事では、2026年7月時点でGoogle Health API v4で構築しています。

Fitbitデータ取得の新しい窓口

この移行は、単なる窓口の付け替えではなく、使う側にもちゃんと恩恵があります。まず認証がGoogle標準のOAuth (パスワードを渡さずにデータ取得できる権限を許可してもらうための仕組み)に一本化されたので、いつもの「Googleアカウントで同意する」画面だけで済み、権限の確認や取り消しもGoogleアカウントの設定から一元管理できます

また、この窓口はFitbitだけでなく、スマホのヘルスコネクト経由のデータも同じ形式で返してくれるので、複数のデバイス、複数のアプリを使っていても取得の仕組みはひとつで足ります。

そして何より、旧Fitbit Web APIは2026年9月に停止が予定されています。いまから作るなら新API一択で、作った仕組みを近い将来作り直す心配がありません。

手順①:Google Cloud設定(プロジェクト作成〜OAuth)

最初の準備は、Googleの開発者向けサービス「Google Cloud Platform(GCP)」での設定です。ここがいちばん「エンジニアっぽい」工程ですが、Claude codeとこの記事を併用することで、簡単に設定可能です。

とてもシンプルな作業でした(もし、難しいところがあれば、操作画面のスクショを貼り付けると、Claude codeが丁寧に教えてくれます)。

1.コンソール/プロジェクト作成
コンソールトップ(https://console.cloud.google.com/)から、新しいプロジェクトの作成。

1.コンソール/プロジェクト作成

2.Google Health API を有効化
「APIとサービス」→ ライブラリ で Health API を検索して有効化

2.Google Health API を有効化

3.OAuth同意画面の設定(User Type は「外部」、自分をテストユーザーに追加→プロジェクト構成に従って保存→完了)

3.OAuth同意画面の設定

4.OAuth 2.0 クライアントID を作成、JSON取得
(「APIとサービス」「認証情報」→ 認証情報を作成→OAuth クライアントID→ウェブアプリケーション→ 「承認済みのリダイレクト URI」 の欄で「+ URIを追加」→ https://www.google.com →「作成」JSONをダウンロードし、:C:\Users\〇〇\.ghealth\等、任意の場所に置く)

*注意) クライアントID、クライアントシークレット、ダウンロードしたJSONファイルは、スクショにもチャットにも貼らないでください。

4.OAuth 2.0 クライアントID を作成、JSON取得

5.必要なスコープを指定(睡眠ステージ・皮膚温・呼吸数・心拍・HRV・SpO2・歩数・AZM・運動・座位・カロリー・体重をカバーしている3つのスコープを入力)

5-1.必要なスコープを指定
https://www.googleapis.com/auth/googlehealth.sleep.readonly
https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly
https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly

6.認可フロー→トークン取得(初回だけブラウザで同意、以降はリフレッシュトークンで自動取得)

6.認可フロー→トークン取得

注意) テストモードのままだとトークンが約7日で失効し、週1で再認証が必要(下図のようにでてきます)。個人利用ではこれを受け入れる必要がありますが、これもClaude codeに処理してもらえば、面倒でないはずです。

7日毎に再認証が必要です

手順②:初回認証——ブラウザで同意して、URLを貼るだけ

次は、自分のデータへのアクセスを自分で許可する「OAuth認証」です。このあたりのスクリプトは、Claude Codeに従い認証URLコードを作成してもらいました。初回だけ、次の3ステップを踏みます。

  1. Claude codeで、認証用のURLが表示される

  2. それをブラウザで開き、Googleアカウントで「同意」する

3.同意後に飛ばされたページのURL(?code=... を含む長い文字列)を丸ごとコピーして、Claude codeに貼り付ける。

これで認証情報(トークン)がPCに保存され、2回目以降は全自動になります。トークンの有効期限が切れても、スクリプトが裏で自動更新してくれる作りです。

手順③:データを取得

データ取得ですが、Google Health APIでは、睡眠(sleep)、歩数(steps)、心拍変動(daily-heart-rate-variability)、安静時心拍(daily-resting-heart-rate)、皮膚温、SpO2など、Fitbitアプリで見られる主要な指標はひととおり取れました。

(過去30日の記録から、アドバイスをもらったのですが、最近、デスク作業が多くて、座りすぎ、総睡眠が少しすくないよTT、とアドバイスをもらってます。)

直近30日のデータ

実際にやってみるとデータにも細かいクセがいくつもあり、ここが一番つまずいたところです。せっかくなので共有しますね。

  • データ種別ごとに、期間指定のやり方が違う。 睡眠は「終了時刻」、歩数は「開始時刻」でフィルタする、といった具合に指定できる項目がバラバラで、運動記録にいたっては期間指定そのものが効きませんでした(取得後に手元で絞る)

  • 睡眠は一度に25件までしか返ってこない。 ページをめくるように何度も取得する処理が要ります

  • 心拍の生データは秒単位で膨大。 欲張って長期間を取ると待ち時間がすごいことになるので、日単位のサマリー系データを使うのが現実的です

  • 歩数が二重にカウントされることがある。 FitbitとスマホのヘルスコネクトLの両方が歩数を記録していると、単純合計で2倍になります。データの「出どころ」を見て、Fitbit由来だけを集計するようにしました

……と、こう並べると大変そうですが、正直に言うとこの試行錯誤はほぼClaude Codeがやってくれました。

実際に取れたデータの種類

参考までに、私の環境で取得を確認できたデータを挙げておきます。

Claude Codeで取得できる主なデータ


Fitbitアプリで普段見ている指標は、ほぼ網羅されている印象です。一方で、VO2max(心肺持久力の推定値)や移動距離、上った階数は、私の環境ではAPIから空のデータしか返ってきませんでした。アプリでしか見られない値も一部ある、と思っておくとよさそうです!

面白いのは、アプリでは目立たない「座りっぱなしの時間」や「睡眠中の皮膚温」まで日次で取れること。特に皮膚温は体調を崩す前にスッと上がることがあり、週次振り返りの隠れた主役になっています。

手順④:Claude Codeの「スキル」にして、一言で呼べるようにする

データが取れるようになったら、仕上げです。Claude Codeには「スキル」という、決まった手順書を登録しておける機能があります。

私はここに「Fitbit考察」という手順書を登録しました。中身はシンプルで、

  • 集計スクリプトを実行して直近7日のデータを取る

  • 結論1000字程度の考察+日次テーブル、という出力の型

を書いてあるだけです。これで、チャットに「Fitbit考察」と打つだけで、毎週同じ品質の振り返りが返ってくるようになりました。

Fitbit考察

この仕組みにして良かったこと

取り入れて見てよかったと感じているメリットは3つあります。

AIで健康データを振り返る

1つめは、振り返りのハードルがゼロになったこと。 アプリを開いてグラフを眺め、先週と見比べて……という作業は、意志の力が要ります。この方法なら、いつでも正確なデータを確認可能です。

2つめは、「自分の平常値」を基準に見てくれること。 睡眠や心拍の数字は個人差が大きく、世間の平均と比べてもあまり意味がありません。スキルに自分のベースライン(私なら安静時心拍65前後、深睡眠時RMSSD 19〜21msなど)を書いておけば、AIは毎回「あなたのいつも」との差分で語ってくれます。このベースラインという考え方については、HRVを毎日測ると何が分かる?で詳しく書いています。

3つめは、対話で深掘りできること。 表を見て気になったら、そのまま「水曜だけ睡眠が崩れてるのはなぜ?」と聞けます。すると過去データを追加で取得して、就寝時刻との関係を調べてくれる。また、obsidianに個人的な健康に関する情報を置いておけば、それに基づいて、アドバイスをくれます。

後日、Discordに写真を送り、Gemini APIを介して栄養情報を取得→obsidianの流れも作ったので、読んでみてくださいね。現在は、食事データ、Fitbitデータ、人間ドックのデータを一括管理して、日々の生活に役立てています。

現在のデータの流れ

運動、睡眠、食事等、自分だけのデータを統合して、日常の振り返りができるのにものすごい価値を感じています。AIの進化で、さらに暮らしに浸透していくでしょう。こういう仕組みをつかって、病気になりづらい環境の一助になればと思います。

FAQ

最後に、よく聞かれそうな3つの疑問に答えておきます。

Q. 費用はかかる?
私の使い方では、かかっていません。Google Cloudのアカウント作成は無料で、Health APIの呼び出しも個人が週1回データを取る程度なら無料の範囲に収まっています。有料なのはClaude Code側の利用料(Proプラン)だけですが、これは私の場合もともと他の用途で契約しているものなので、追加コストはゼロでした。

Q. 健康データをAIに渡して大丈夫?
①「鍵」にあたるファイルGoogleにログインするための認証ファイル(client_secret.jsonやトークン)は、いわば家の鍵です。これは自分のPCの専用フォルダにだけ置き、AIには「中身を絶対に読まない・表示しない」ルールを課しています。実際に起きているのは、データを取りに行くスクリプトが裏側で参照するだけで、AIはその文字列を一度も見ていません。

②「健康データそのもの」
あなたの健康データはすでにGoogle(Fitbit)のサーバーに預けられています。今回やっているのは、そのデータを自分のPCに取り出して、AIに読んでもらっているだけ。Fitbitアプリを開いて自分の数字を眺めるのと、預けている範囲は変わりません


Q. 構築にどれくらいかかった?

トータルで半日ほど。自分の手が実際に動いたのは、Google Cloudの画面を設定した15分と、認証URLを貼り付けた数回くらい。プログラミングの知識よりも、「エラーが出ても、スクショを貼り、AIと一緒に一つずつ潰せばいい」という考えて、とにかくClaude codeが強力に分かりやすくサポートしてくれます。

おわりに

私自身、アプリ内のGoogle Health Coachを契約、活用していたのですが、精度面でいまいちなことがあり、今回、Claude codeで試してみました。これからは、デスクトップでの作業する前に、健康チェックして、日々の暮らしのヒントを得られそうです。実際、前の健康診断から、5 kgほど痩せ、軽い脂肪肝も治ったので、日々記録することの大切さを見に染みて感じております(次は血糖や、、笑)。

ここまで読んでくださり、ありがとうございました。


関連記事



いいなと思ったら応援しよう!