Users.dataset: aggregate

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::com.google.android.gms:aggregated. Wenn der Nutzer keine Daten für diesen Datentyp hat, wird ein leerer Datensatz zurückgegeben. Hinweis: Daten können entweder nach „dataTypeName“ oder „dataSourceId“ aggregiert werden, nicht nach beiden.
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">
    </ph>
  • day
  • month
  • week
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">
    </ph>
  • activitySegment
  • activityType
  • session
  • time
  • unknown
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.