API の仕様

API 仕様のセクションでは、プラットフォームとの統合に不可欠な技術コンポーネント(認証スコープ、データ型定義、エンドポイント構造など)について詳しく説明します。この API は、従来の Fitbit Web API の戦略的な進化を表しています。最新のインフラストラクチャ上に再構築され、より安定した一貫性のあるデベロッパー エクスペリエンスを実現します。

スコープ

Google Health API スコープを使用するには、認証リクエストを更新する必要があります。 スコープは、アプリが読み取りオペレーションと書き込みオペレーションのどちらをサポートするかを定義します。 必要なスコープのみをリクエストし、データの送信時にのみ書き込みアクセスを構成し、部分的な同意を適切に処理する スコープ実装の手順に沿って操作してください。

Google Health API スコープは、https://www.googleapis.com/auth/googlehealth.{scope} で始まる HTTP URL です。例: https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly

スコープ マッピング

Fitbit Web API スコープと Google Health API スコープのマッピングは次のとおりです。

表: Fitbit Web API から Google Health API へのスコープ マッピング
Fitbit Web API スコープ Google Health API スコープ
アクティビティ .activity_and_fitness.readonly
.activity_and_fitness.writeonly
blood_glucose .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
cardio_fitness .activity_and_fitness.readonly
.activity_and_fitness.writeonly
心電図 .ecg.readonly
心拍数 .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
irregular_rhythm_notifications .irn.readonly
ロケーション .location.readonly
栄養 .nutrition.readonly
.nutrition.writeonly
oxygen_saturation .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
プロフィール .profile.readonly
.profile.writeonly
respiratory_rate .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
設定 .settings.readonly
.settings.writeonly
睡眠 .sleep.readonly
.sleep.writeonly
温度 .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
体重 .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

データ型

Google Health API のデータ型と Fitbit Web API へのマッピングのリストを以下に示します。

これらのタイプのデータのレポート方法について詳しくは、 データの存在と真のゼロのガイドをご覧ください。 このガイドには、非アクティブとオンリストのフィルタリングの詳細が含まれています。

表: Fitbit Web API から Google Health API へのデータ型マッピング
Fitbit Web API データ型 Google Health API データ型
  dataType
アクティビティのカロリー 消費カロリー
  active-energy-burned
アクティブ ゾーン時間 アクティブ ゾーン時間
  active-zone-minutes
ユーザーのアクティビティ レベルの変更を含む アクティビティ レベル
  activity-level
高度 高度
  altitude
血糖値 血糖値
  blood-glucose
体脂肪 体脂肪
  body-fat
各心拍ゾーンの caloriesOut 心拍ゾーンのカロリー
  calories-in-heart-rate-zone
温度(深部) 深部体温
  core-body-temperature
HRV の概要 1 日の心拍変動
  daily-heart-rate-variability
SpO2 の概要 1 日の酸素飽和度
  daily-oxygen-saturation
安静時の心拍数 1 日の安静時の心拍数
  daily-resting-heart-rate
皮膚温 1 日の睡眠温度の派生値
  daily-sleep-temperature-derivations
距離 距離
  distance
心電図 心電図
  electrocardiogram
録画アクティビティ 運動
  exercise
階数 階数
  floors
食べ物 食べ物
  food
食べ物 食べ物
  food
食品の測定単位 食品の測定単位
  food-measurement-unit
食品の測定単位 食品の測定単位
  food-measurement-unit
心拍数 心拍数
  heart-rate
HRV 1 日以内 心拍変動
  heart-rate-variability
不整脈の通知 不整脈の通知
  irregular-rhythm-notification
食事の記録 栄養摂取量の記録
  nutrition-log
食事の記録 栄養摂取量の記録
  nutrition-log
SpO2 1 日以内 酸素飽和度
  oxygen-saturation
ユーザーが実行しているときの最大酸素摂取量 ランニング時の最大酸素摂取量
  run-vo2-max
アクティビティの時系列(分) 座りがちな時間
  sedentary-period
睡眠 睡眠
  sleep
手順 手順
  steps
アクティビティの時系列(水泳のストローク) プールの長さのデータ
  swim-lengths-data
アクティビティ caloriesOut 総カロリー
  total-calories
最大酸素摂取量 最大酸素摂取量
  vo2-max
体重 体重
  weight

エンドポイント

REST エンドポイントでは、すべてのデータ型で一貫した構文が採用されています。

  • サービス エンドポイント: 基本 HTTP URL が https://health.googleapis.com に変更されます。
  • エンドポイントの構文: Google Health API は、サポートされているほとんどのデータ型で使用できる エンドポイントの数が限られています。これにより、すべてのデータ型で一貫した構文が提供され、エンドポイントを簡単に使用できます。
  • ユーザー識別子: エンドポイントの構文では、ユーザー ID または me を指定する必要があります。me を使用すると、ユーザー ID はアクセス トークンから推測されます。

: Google Health API を使用して呼び出される GET プロフィール エンドポイントの例を次に示します。

GET https://health.googleapis.com/v4/users/me/profile

エンドポイント マッピング

利用可能なデータ型と、それらがサポートする API メソッドのリストについては、Google Health API のデータ型 の表をご覧ください。

Fitbit Web API エンドポイント タイプ Google Health API
GET(ログ | 概要 | 1 日の概要)で、1 日分のデータをリクエストする場合 windowSize = 1 日の dailyRollup メソッド
GET(イントラデイ)で、粒度の高いデータをリクエストする場合 list メソッド
日付または間隔で GET(時系列) 日付範囲を含む rollUp メソッドまたは dailyRollUp メソッド
GET(ログリスト) list メソッド
ログの作成と更新 patch メソッド
ログの削除 batchDelete メソッド
プロフィールの取得 users.getProfile はユーザーの固有情報を返します
users.getSettings はユーザーの単位とタイムゾーンを返します
プロフィールの更新 users.updateProfile はユーザーの固有情報を変更します
users.updateSettings はユーザーの単位とタイムゾーンを変更します
ユーザー ID の取得 users.getIdentity は、ユーザーの Fitbit レガシーと Google のユーザー ID を返します。
デバイスの取得 users.pairedDevices は、ペア設定されたデバイスのリストを返します
サブスクリプションの作成 projects.subscribers.subscriptions.create は、 サブスクリプションを手動で作成します
サブスクリプションの削除 projects.subscribers.subscriptions.delete は、 サブスクリプションを削除します
サブスクリプション リストの取得 projects.subscribers.subscriptions.list は、すべての サブスクリプションを一覧表示します