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 集計するデータ型。この種類のデータを提供しているすべてのデータソースは、集計に使用されます。レスポンスには、このデータ型名の単一のデータセットが含まれます。このデータセットのデータソース ID は、: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 を使ってライブデータ上でこのメソッドを呼び出し、レスポンスを確認します。