データソースの管理

Fitness REST API を使用すると、データソースを作成、取得、更新できます。データソースは、センサーデータの一意のソースを表します。データソースを使用してフィットネス データをフィットネス ストアに挿入し、特定のデータソースによって挿入されたフィットネス データを取得できます。

データソースは Users.dataSources リソースで表されます。

データソースを作成する

この例では、"MyDataSource" という名前の新しいデータソースを作成する手順を示します。これにより、ステップ数の増分が提供されます。

HTTP メソッド
投稿
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
リクエスト本文
{
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "1.0"
  }
}

レスポンス

データソースが正常に作成されると、レスポンスは 200 OK ステータス コードになります。レスポンスの本文には、後続のリクエストのデータソース ID として使用できる datasource.dataStreamId プロパティなど、データソースの JSON 表現が含まれます。

Curl コマンド
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @createds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources"

特定のデータソースを取得する

この例では、前の例で作成したデータソース("MyDataSource")を取得する方法を示します。新しいデータソースを作成すると、dataStreamId に一意の識別子が含まれます(次の例では「1234567890」と表示されています)。これはデベロッパー プロジェクト番号であり、特定のデベロッパー アカウントを使用して行われたすべてのリクエストで同じです。作成したデータソースの dataStreamId を必ず使用してください。

HTTP メソッド
GET
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
リクエスト本文
なし
レスポンス
データソースが存在する場合、レスポンスは 200 OK ステータス コードになります。レスポンスの本文には、データソースの JSON 表現が含まれます。
Curl コマンド
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X GET 
--header "Content-Type: application/json;encoding=utf-8"
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

集計データを取得する

この例では、集計データの特定のデータソース(この例では estimated_steps)をクエリして、Google Fit アプリでステップ数を表示する方法を示します。JSON リクエストの本文のタイムスタンプはミリ秒単位です。

HTTP メソッド
投稿
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
リクエスト本文
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

レスポンス

データソースが存在する場合、レスポンスは 200 OK ステータス コードになります。レスポンスの本文には、データソースの JSON 表現が含まれます。

Curl コマンド
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @aggregate.json \
"https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate"

データソースを更新する

この例では、データソースの名前とデバイスのバージョンを更新する方法を示します。

HTTP メソッド
入力
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
リクエスト本文
{
  "dataStreamId": "derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource",
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "2.0"
  }
}

レスポンス

データソースが正常に更新された場合、レスポンスは 200 OK ステータス コードになります。レスポンスの本文には、データソースの JSON 表現が含まれます。

Curl コマンド
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X PUT \
--header "Content-Type: application/json;encoding=utf-8" -d @updateds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

データソースを削除する

この例では、データソースを削除する方法を示します。

HTTP メソッド
削除
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
リクエスト本文
なし
レスポンス
データソースが正常に削除された場合、レスポンスは 200 OK ステータス コードになります。レスポンスの本文には、削除されたデータソースの JSON 表現が含まれます。
Curl コマンド
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X DELETE \
--header "Content-Type: application/json;encoding=utf-8" \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"