Aggregiert Daten eines bestimmten Typs oder Streams in Buckets geteilt durch eine bestimmte Art der Begrenzung. Mehrere Datensätze unterschiedlicher Typen und von mehreren Quellen pro Anfrage zu genau einem Bucket-Typ aggregiert werden. Jetzt testen
Anfrage
HTTP-Anfrage
POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
Parameter
Parametername | Wert | Beschreibung |
---|---|---|
Pfadparameter | ||
userId |
string |
Daten für die identifizierte Person aggregieren. Mit me geben Sie
mit dem authentifizierten Nutzer. 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 } }
Name der Eigenschaft | Wert | Beschreibung | Hinweise |
---|---|---|---|
startTimeMillis |
long |
Der Beginn eines Zeitfensters. Daten, die sich mit diesem Zeitfenster überschneiden, werden aggregiert. Die Zeit wird in Millisekunden seit einschließlich Epoche angegeben. | |
endTimeMillis |
long |
Das Ende eines Zeitfensters. Daten, die sich mit diesem Zeitfenster überschneiden, werden aggregiert. Die Zeit wird in Millisekunden seit einschließlich Epoche angegeben. | |
aggregateBy[] |
list |
Die Spezifikation der zu aggregierenden Daten. Es muss mindestens eine „aggregateBy“-Spezifikation angegeben werden. Alle angegebenen Daten werden nach denselben Bucketing-Kriterien aggregiert. Die Antwort enthält für jede aggregierteBy-Spezifikation genau ein Dataset. | |
aggregateBy[].dataTypeName |
string |
Der zu aggregierende Datentyp. Alle Datenquellen, die diesen Datentyp bereitstellen, tragen Daten zur Aggregation bei. Die Antwort enthält ein einzelnes Dataset für diesen Datentypnamen. Das Dataset hat folgende Datenquellen-ID: | |
aggregateBy[].dataSourceId |
string |
Die ID einer Datenquelle, die aggregiert werden soll. Nur Daten der angegebenen Datenquellen-ID werden in der Zusammenfassung berücksichtigt. 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 |
BITTE DIESES FELD NICHT AUSFÜLLEN. Er wird ignoriert. | |
bucketByTime |
nested object |
Gibt an, dass Daten nach einem einzelnen Zeitintervall aggregiert werden. Schließt andere Bucketing-Spezifikationen gegenseitig aus. | |
bucketByTime.durationMillis |
long |
Gibt an, dass Ergebnis-Buckets Daten nach genau „durationMillis“-Zeiträumen aggregieren. Zeiträume, die keine Daten enthalten, werden bei einem leeren Dataset in die Antwort aufgenommen. | |
bucketByTime.period |
nested object |
||
bucketByTime.period.type |
string |
Zulässige Werte sind: <ph type="x-smartling-placeholder">
|
|
bucketByTime.period.value |
integer |
||
bucketByTime.period.timeZoneId |
string |
org.joda.timezone.DateTimeZone | |
bucketBySession |
nested object |
Gibt an, dass Daten nach Nutzersitzungen aggregiert werden. Daten, die nicht in den Zeitraum einer Sitzung fallen, werden nicht in die Antwort aufgenommen. Schließt andere Bucketing-Spezifikationen gegenseitig aus. | |
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 Daten nach der Art der Aktivität aggregiert werden, die ausgeführt wurde, als die Daten aufgezeichnet wurden. Alle Daten, die während eines bestimmten Aktivitätstyps (für den gegebenen Zeitraum) aufgezeichnet wurden, werden in derselben Gruppe zusammengefasst. Daten, die aufgezeichnet wurden, während der Nutzer nicht aktiv war, werden nicht in die Antwort aufgenommen. Schließt andere Bucketing-Spezifikationen gegenseitig aus. | |
bucketByActivityType.minDurationMillis |
long |
Gibt an, dass nur Aktivitätssegmente mit einer Länge von mehr als minDurationMillis berücksichtigt und als Container für aggregierte Daten verwendet werden. | |
bucketByActivityType.activityDataSourceId |
string |
Wenn keine bestimmte activityDataSourceId angegeben ist, wird der Standardaktivitätsstream verwendet. | |
bucketByActivitySegment |
nested object |
Gibt an, dass Daten für jedes für einen Nutzer erfasste Aktivitätssegment aggregiert werden. Ähnlich wie „bucketByActivitySegment“, aber für jedes Aktivitätssegment und nicht für alle Segmente desselben Typs wird Bucketing durchgeführt. Schließt andere Bucketing-Spezifikationen gegenseitig aus. | |
bucketByActivitySegment.minDurationMillis |
long |
Gibt an, dass nur Aktivitätssegmente mit einer Länge von mehr als minDurationMillis berücksichtigt und als Container für aggregierte Daten verwendet werden. | |
bucketByActivitySegment.activityDataSourceId |
string |
Wenn keine bestimmte activityDataSourceId angegeben ist, wird der Standardaktivitätsstream verwendet. |
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 der Buckets, die die aggregierten Daten enthalten. | |
bucket[].type |
string |
Der Bucket-Typ gibt an, wie die Datenaggregation im Bucket durchgeführt wird.
Zulässige Werte sind: <ph type="x-smartling-placeholder">
|
|
bucket[].startTimeMillis |
long |
Die Startzeit für die aggregierten Daten in Millisekunden seit einschließlich Epoche. | |
bucket[].endTimeMillis |
long |
Die Endzeit für die aggregierten Daten in Millisekunden seit einschließlich 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 dieser Sitzung. | |
bucket[].session.startTimeMillis |
long |
Eine Startzeit in Millisekunden seit einschließlich Epoche. | |
bucket[].session.endTimeMillis |
long |
Eine Endzeit in Millisekunden seit Epoche (einschließlich). | |
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-Anwendungen erstellt wird, kann aber nicht von REST-Clients angegeben werden. Bei REST-Clients wird die Nummer des Entwicklerprojekts in den IDs des Datenstreams der Datenquelle anstatt im packageName angegeben. | |
bucket[].session.application.version |
string |
Version der Anwendung. Sie sollten dieses Feld immer dann aktualisieren, wenn sich die Anwendung so ändert, dass sich dies auf die Berechnung der Daten auswirkt. | |
bucket[].session.application.detailsUrl |
string |
Ein optionaler URI, mit dem eine Verknüpfung zurück 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 für andere Entwickler gedacht, die wissen möchten, mit welcher REST eine Anwendung oder Datenquelle erstellt wurde. | |
bucket[].session.activityType |
integer |
Der Aktivitätstyp dieser Sitzung. | |
bucket[].session.activeTimeMillis |
long |
Aktive Zeit der Sitzung. Während start_time_millis und end_time_millis die vollständige Sitzungsdauer definieren, kann die aktive Zeit auch kürzer sein und durch „active_time_millis“ angegeben werden. Wenn die Zeit der Inaktivität während der Sitzung bekannt ist, sollte sie auch über einen com.google.activity.segment-Datenpunkt mit dem Aktivitätswert STILL eingefügt werden |
|
bucket[].activity |
integer |
Verfügbar für Bucket.Type.ACTIVITY_TYPE und Bucket.Type.ACTIVITY_SEGMENT |
Testen!
Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.