Users.dataset: aggregate

特定のタイプまたはストリームのデータを、指定した値で分割されたバケットに集約します。 境界のタイプです。複数の種類の複数のデータセットから成る複数のデータセット リクエストごとに 1 つのバケットタイプに集約できます。 実習をご覧ください。

リクエスト

HTTP リクエスト

POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate

パラメータ

パラメータ名 説明
パスパラメータ
userId string 特定された人物のデータを集計します。me を使用して 表示されます。現時点でサポートされているのは me のみです。

承認

このリクエストは、少なくとも次のうち 1 つのスコープによる承認が必要です。

範囲
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.read
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.read
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.read
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.blood_pressure.read
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.read
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.read
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperature.read
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.reproductive_health.read
https://www.googleapis.com/auth/fitness.reproductive_health.write

詳細については、認証と認可のページをご覧ください。

リクエスト本文

リクエストの本文には、以下の構造を使用してデータを指定してください。

{
  "startTimeMillis": long,
  "endTimeMillis": long,
  "aggregateBy": [
    {
      "dataTypeName": string,
      "dataSourceId": string
    }
  ],
  "filteredDataQualityStandard": [
    string
  ],
  "bucketByTime": {
    "durationMillis": long,
    "period": {
      "type": string,
      "value": integer,
      "timeZoneId": string
    }
  },
  "bucketBySession": {
    "minDurationMillis": long
  },
  "bucketByActivityType": {
    "minDurationMillis": long,
    "activityDataSourceId": string
  },
  "bucketByActivitySegment": {
    "minDurationMillis": long,
    "activityDataSourceId": string
  }
}
プロパティ名 説明 メモ
startTimeMillis long 時間枠の開始。この時間枠と交差するデータは集計されます。時間はエポックからのミリ秒単位の経過時間(エポックを含む)で表します。
endTimeMillis long 期間の終了。この時間枠と交差するデータは集計されます。時間はエポックからのミリ秒単位の経過時間(エポックを含む)で表します。
aggregateBy[] list 集計するデータの仕様。少なくとも 1 つの aggregateBy 仕様を指定する必要があります。指定されたすべてのデータは、同じバケット化条件を使用して集計されます。レスポンスには、aggregateBy 仕様ごとに 1 つのデータセットが含まれます。
aggregateBy[].dataTypeName string 集計するデータ型。このデータの種類を提供するすべてのデータソースのデータが集計に使用されます。レスポンスには、このデータ型名のデータセットが 1 つ含まれます。このデータセットのデータソース ID は derived::com.google.android.gms:aggregated です。ユーザーがこのデータ型のデータを持っていない場合は、空のデータセットが返されます。注: データは、dataTypeName または dataSourceId のいずれかで集計できます。両方で集計することはできません。
aggregateBy[].dataSourceId string 集計するデータソースの ID。指定したデータソース ID のデータのみが集計に含まれます。指定する場合、このデータソースが存在している必要があります。指定された認証情報の OAuth スコープで、このデータ型への読み取りアクセス権を付与する必要があります。レスポンスに含まれるデータセットは、同じデータソース ID を持ちます。注: データは、dataTypeName または dataSourceId のいずれかで集計できます。両方で集計することはできません。
filteredDataQualityStandard[] list このフィールドは入力しないでください。これは無視されます。
bucketByTime nested object データを単一の時間間隔で集計するように指定します。他のバケット仕様とは相互に排他的。
bucketByTime.durationMillis long 結果バケットで、正確に durationMillis タイムフレームごとにデータを集計するように指定します。データが含まれていない時間枠は、空のデータセットでレスポンスに含まれます。
bucketByTime.period nested object
bucketByTime.period.type string

有効な値は次のとおりです。
  • "day"
  • "month"
  • week
bucketByTime.period.value integer
bucketByTime.period.timeZoneId string org.joda.timezone.DateTimeZone
bucketBySession nested object データをユーザー セッション別に集計するように指定します。セッションの時間範囲に収まらないデータはレスポンスに含まれません。他のバケット仕様とは相互に排他的。
bucketBySession.minDurationMillis long minDurationMillis より長いセッションのみを考慮し、集計データのコンテナとして使用するように指定します。
bucketByActivityType nested object データの記録時に実行されたアクティビティの種類別にデータを集計するように指定します。特定のアクティビティ タイプ(特定の期間内)に記録されたデータはすべて、同じバケットに集計されます。ユーザーがアクティブでない間に記録されたデータはレスポンスに含まれません。他のバケット仕様とは相互に排他的。
bucketByActivityType.minDurationMillis long minDurationMillis より長い期間のアクティビティ セグメントのみを考慮し、集計データのコンテナとして使用するように指定します。
bucketByActivityType.activityDataSourceId string 特定の activityDataSourceId が指定されていない場合は、デフォルトのアクティビティ ストリームが使用されます。
bucketByActivitySegment nested object ユーザーについて記録された各アクティビティ セグメントのデータを集計するように指定します。bucketByActivitySegment と似ていますが、バケット化は、同じタイプのすべてのセグメントではなく、アクティビティ セグメントごとに行われます。他のバケット仕様とは相互に排他的。
bucketByActivitySegment.minDurationMillis long minDurationMillis より長い期間のアクティビティ セグメントのみを考慮し、集計データのコンテナとして使用するように指定します。
bucketByActivitySegment.activityDataSourceId string 特定の activityDataSourceId が指定されていない場合は、デフォルトのアクティビティ ストリームが使用されます。

レスポンス

成功すると、このメソッドは次の構造を含むレスポンスの本文を返します。

{
  "bucket": [
    {
      "type": string,
      "startTimeMillis": long,
      "endTimeMillis": long,
      "dataset": [
        users.dataSources.datasets Resource
      ],
      "session": {
        "id": string,
        "name": string,
        "description": string,
        "startTimeMillis": long,
        "endTimeMillis": long,
        "modifiedTimeMillis": long,
        "application": {
          "packageName": string,
          "version": string,
          "detailsUrl": string,
          "name": string
        },
        "activityType": integer,
        "activeTimeMillis": long
      },
      "activity": integer
    }
  ]
}
プロパティ名 説明 メモ
bucket[] list 集計データを含むバケットのリスト。
bucket[].type string バケットの種類は、バケット内でのデータ集計方法を表します。

有効な値は次のとおりです。
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • unknown
bucket[].startTimeMillis long 集計データの開始時間(エポックからのミリ秒)。
bucket[].endTimeMillis long 集計データの終了時間(エポックからのミリ秒)。
bucket[].dataset[] list リクエストの AggregateBy ごとに 1 つのデータセットがあります。
bucket[].session nested object Bucket.Type.SESSION で使用できる
bucket[].session.id string クライアントが生成した識別子。このユーザーが所有するすべてのセッション間で一意です。
bucket[].session.name string 人が読める形式のセッション名。
bucket[].session.description string このセッションの説明。
bucket[].session.startTimeMillis long エポックからのミリ秒単位の開始時間(両端を含む)。
bucket[].session.endTimeMillis long 終了時間(エポックからのミリ秒)。
bucket[].session.modifiedTimeMillis long セッションが最後に変更された日時を示すタイムスタンプ。
bucket[].session.application nested object セッションを作成したアプリケーション。
bucket[].session.application.packageName string このアプリケーションのパッケージ名。Android アプリで作成された場合は一意の識別子として使用されますが、REST クライアントで指定することはできません。REST クライアントでは、packageName ではなく、デベロッパー プロジェクト番号がデータソースのデータ ストリーム ID に反映されます。
bucket[].session.application.version string アプリケーションのバージョン。アプリケーションでデータの計算に影響するような変更が加えられるたびに、このフィールドを更新する必要があります。
bucket[].session.application.detailsUrl string アプリにリンクするために使用できる URI(省略可)。
bucket[].session.application.name string このアプリケーションの名前。これは REST クライアントでは必須ですが、この名前の一意性は強制しません。これは、アプリケーションやデータソースを作成した REST を知りたい他のデベロッパーにとって便宜上提供されています。
bucket[].session.activityType integer このセッションが表すアクティビティのタイプ。
bucket[].session.activeTimeMillis long セッションのアクティブ時間。start_time_millis と end_time_millis は完全なセッション時間を定義しますが、アクティブ時間は、active_time_millis で短く指定することができます。セッション中の非アクティブ時間が判明している場合は、com.google.activity.segment データポイント(STILL アクティビティ値

)からも挿入する必要があります。
bucket[].activity integer Bucket.Type.ACTIVITY_TYPE、Bucket.Type.ACTIVITY_SEGMENT で使用できます

試してみよう:

以下の API Explorer を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。