Users.dataset: aggregate

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