Aggregiert Daten eines bestimmten Typs oder Streams in Buckets, geteilt durch einen bestimmten Begrenzungstyp. Mehrere Datensätze aus mehreren Typen und aus mehreren Quellen können pro Anfrage in genau einem Bucket-Typ zusammengefasst werden. Jetzt testen.
Anfrage
HTTP-Anfrage
POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
Parameter
Parametername | Wert | Beschreibung |
---|---|---|
Pfadparameter | ||
userId |
string |
Aggregierte Daten für die identifizierte Person. Verwenden Sie me , um den authentifizierten Nutzer anzugeben. Derzeit wird nur me unterstützt.
|
Autorisierung
Für diese Anfrage ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:
Umfang |
---|
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 |
Weitere Informationen finden Sie auf der Seite Authentifizierung und Autorisierung.
Anfragetext
Geben Sie im Anfragetext Daten mit der folgenden Struktur ein:
{ "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 } }
Attributname | Wert | Beschreibung | Hinweise |
---|---|---|---|
startTimeMillis |
long |
Der Beginn eines Zeitfensters. Daten, die sich mit diesem Zeitfenster überschneiden, werden zusammengefasst. Die Zeit ist in Millisekunden seit Epoche angegeben. | |
endTimeMillis |
long |
Das Ende eines Zeitfensters. Daten, die sich mit diesem Zeitfenster überschneiden, werden zusammengefasst. Die Zeit ist in Millisekunden seit Epoche angegeben. | |
aggregateBy[] |
list |
Die Spezifikation der zu aggregierenden Daten. Es muss mindestens eine aggregierte Spezifikation „ByBy“ angegeben werden. Alle angegebenen Daten werden unter Verwendung derselben Bucketing-Kriterien zusammengefasst. In der Antwort gibt es für jede Spezifikationsart 'AggregateBy' ein Dataset. | |
aggregateBy[].dataTypeName |
string |
Der Datentyp, der aggregiert werden soll. Alle Datenquellen, die diesen Datentyp bereitstellen, tragen zur Aggregation bei. Die Antwort enthält ein einzelnes Dataset für diesen Datentyp. Das Dataset hat die Datenquellen-ID der abgeleiteten: | |
aggregateBy[].dataSourceId |
string |
Eine Datenquellen-ID, die aggregiert werden soll. Nur Daten aus der angegebenen Datenquellen-ID werden in die Aggregation aufgenommen. Wenn angegeben, muss diese Datenquelle vorhanden sein. Die OAuth-Bereiche in den bereitgestellten Anmeldedaten müssen Lesezugriff auf diesen Datentyp gewähren. Das Dataset in der Antwort hat dieselbe Datenquellen-ID. Hinweis: Daten können entweder nach „dataTypeName“ oder „dataSourceId“ aggregiert werden, nicht nach beiden. | |
filteredDataQualityStandard[] |
list |
DIESES FELD NICHT AUSFÜLLEN. Sie wird ignoriert. | |
bucketByTime |
nested object |
Gibt an, dass die Daten in einem einzigen Zeitintervall aggregiert werden. Sich gegenseitig von anderen Bucketing-Spezifikationen gegenseitig ausschließen. | |
bucketByTime.durationMillis |
long |
Gibt an, dass in Buckets Daten nach exakten Zeiträumen in Millisekunden aggregiert werden. Zeiträume, die keine Daten enthalten, werden mit einem leeren Dataset in die Antwort aufgenommen. | |
bucketByTime.period |
nested object |
||
bucketByTime.period.type |
string |
Zulässige Werte:
|
|
bucketByTime.period.value |
integer |
||
bucketByTime.period.timeZoneId |
string |
org.joda.timezone.DateTimeZone | |
bucketBySession |
nested object |
Gibt an, dass die Daten nach Nutzersitzungen zusammengefasst werden. Daten, die nicht in den Zeitraum einer Sitzung fallen, werden nicht in die Antwort aufgenommen. Sich gegenseitig von anderen Bucketing-Spezifikationen gegenseitig ausschließen. | |
bucketBySession.minDurationMillis |
long |
Gibt an, dass nur Sitzungen mit einer Dauer von mehr als minDurationMillis berücksichtigt und als Container für aggregierte Daten verwendet werden. | |
bucketByActivityType |
nested object |
Gibt an, dass die Daten nach dem Typ der Aktivität aggregiert werden sollen, als die Daten aufgezeichnet wurden. Alle Daten, die während eines bestimmten Aktivitätstyps (für den angegebenen Zeitraum) aufgezeichnet wurden, werden im selben Bucket zusammengefasst. Daten, die aufgezeichnet wurden, als der Nutzer nicht aktiv war, werden nicht in die Antwort aufgenommen. Sich gegenseitig von anderen Bucketing-Spezifikationen gegenseitig ausschließen. | |
bucketByActivityType.minDurationMillis |
long |
Gibt an, dass nur Aktivitätssegmente mit einer längeren Dauer als minDurationMillis berücksichtigt und als Container für aggregierte Daten verwendet werden. | |
bucketByActivityType.activityDataSourceId |
string |
Der Standard-Aktivitätsstream wird verwendet, wenn keine bestimmte activityDataSourceId angegeben ist. | |
bucketByActivitySegment |
nested object |
Gibt an, dass die Daten für jedes für einen Nutzer aufgezeichnete Aktivitätssegment zusammengefasst werden. Ähnlich wie „bucketByActivitySegment“. Es wird aber für jedes Aktivitätssegment und nicht für alle Segmente desselben Typs zusammengefasst. Sich gegenseitig von anderen Bucketing-Spezifikationen gegenseitig ausschließen. | |
bucketByActivitySegment.minDurationMillis |
long |
Gibt an, dass nur Aktivitätssegmente mit einer längeren Dauer als minDurationMillis berücksichtigt und als Container für aggregierte Daten verwendet werden. | |
bucketByActivitySegment.activityDataSourceId |
string |
Der Standard-Aktivitätsstream wird verwendet, wenn keine bestimmte activityDataSourceId angegeben ist. |
Antwort
Bei Erfolg gibt diese Methode einen Antworttext mit der folgenden Struktur zurück:
{ "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 } ] }
Name der Eigenschaft | Wert | Beschreibung | Hinweise |
---|---|---|---|
bucket[] |
list |
Eine Liste von Buckets mit den aggregierten Daten. | |
bucket[].type |
string |
Der Typ eines Buckets gibt an, wie die Datenaggregation im Bucket ausgeführt wird.
Zulässige Werte:
|
|
bucket[].startTimeMillis |
long |
Die Startzeit für die aggregierten Daten in Millisekunden seit Epoche. | |
bucket[].endTimeMillis |
long |
Die Endzeit für die aggregierten Daten in Millisekunden seit Epoche. | |
bucket[].dataset[] |
list |
In der Anfrage gibt es ein Dataset pro AggregateBy. | |
bucket[].session |
nested object |
Verfügbar für Bucket.Type.SESSION | |
bucket[].session.id |
string |
Eine vom Client generierte Kennung, die für alle Sitzungen dieses Nutzers eindeutig ist. | |
bucket[].session.name |
string |
Ein für Menschen lesbarer Name der Sitzung. | |
bucket[].session.description |
string |
Eine Beschreibung für diese Sitzung. | |
bucket[].session.startTimeMillis |
long |
Eine Startzeit in Millisekunden seit Beginn der Epoche. | |
bucket[].session.endTimeMillis |
long |
Eine Endzeit in Millisekunden seit Epoche. | |
bucket[].session.modifiedTimeMillis |
long |
Ein Zeitstempel, der angibt, wann die Sitzung zuletzt geändert wurde. | |
bucket[].session.application |
nested object |
Die Anwendung, die die Sitzung erstellt hat. | |
bucket[].session.application.packageName |
string |
Paketname für diese Anwendung. Sie wird als eindeutige Kennung verwendet, wenn sie von Android-Apps erstellt wird. Sie kann jedoch nicht von REST-Clients angegeben werden. Die Nummer des Entwicklerprojekts wird anstelle der packageName in den Datenquellen-IDs der Datenquellen angegeben. | |
bucket[].session.application.version |
string |
Version der Anwendung. Sie sollten dieses Feld immer dann aktualisieren, wenn sich die Anwendung so ändert, dass die Berechnung der Daten beeinträchtigt wird. | |
bucket[].session.application.detailsUrl |
string |
Ein optionaler URI, mit dem eine Verknüpfung zur Anwendung hergestellt werden kann. | |
bucket[].session.application.name |
string |
Der Name dieser Anwendung. Dies ist für REST-Clients erforderlich. Die Eindeutigkeit dieses Namens wird jedoch nicht erzwungen. Sie ist nur für Nutzer gedacht, die wissen möchten, über welche REST-Anwendung eine Anwendung oder Datenquelle erstellt wurde. | |
bucket[].session.activityType |
integer |
Die Art der Aktivität, die diese Sitzung darstellt. | |
bucket[].session.activeTimeMillis |
long |
Sitzungsdauer in Sitzung. Während „start_time_millis“ und „end_time_millis“ die volle Sitzungsdauer definieren, kann die aktive Zeit kürzer sein und durch „active_time_millis“ angegeben werden. Wenn die Inaktivitätszeit während der Sitzung bekannt ist, sollte sie auch über einen com.google.activity.segment-Datenpunkt mit einem STILL-Aktivitätswert eingefügt werden |
|
bucket[].activity |
integer |
Verfügbar für Bucket.Type.AKTIV_TYPE, Bucket.Typ.AKTIV_SEGMENT |
Testen!
Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.