特定のタイプまたはストリームのデータを、特定のタイプの境界で割ったバケットに集約します。複数のタイプと複数のソースから得られた複数のデータセットは、リクエストごとに 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 は、 | |
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 |
有効な値は次のとおりです。
|
|
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 |
バケットの種類は、バケット内でデータ集計がどのように実行されるかを示します。
有効な値は次のとおりです。
|
|
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 を使ってライブデータ上でこのメソッドを呼び出し、レスポンスを確認します。