Users.dataset: aggregate

Agrège les données d'un certain type ou d'un certain flux en buckets divisés par une valeur type de limite. Ensembles de données de différents types et provenant de plusieurs peuvent être agrégées en un seul type de bucket par requête. Essayer maintenant

Requête

Requête HTTP

POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate

Paramètres

Nom du paramètre Valeur Description
Paramètres de chemin d'accès
userId string Données globales pour la personne identifiée Utilisez me pour indiquer l'utilisateur authentifié. Seule la région me est compatible pour le moment.

Autorisation

Une autorisation est requise pour cette demande. Celle-ci doit inclure au moins l'un des champs d'application suivants:

Champ d'application
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

Pour en savoir plus, consultez la page Authentification et autorisation.

Corps de la requête

Dans le corps de la requête, fournissez les données selon la structure suivante:

{
  "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
  }
}
Nom de propriété Valeur Description Remarques
startTimeMillis long Début d'une fenêtre temporelle. Les données qui se recoupent avec cette période seront agrégées. L'heure est exprimée en millisecondes (incluses) depuis l'epoch.
endTimeMillis long Fin d'une fenêtre de temps. Les données qui se recoupent avec cette période seront agrégées. L'heure est exprimée en millisecondes (incluses) depuis l'epoch.
aggregateBy[] list Spécification des données à agréger. Vous devez indiquer au moins une spécification "aggregateBy". Toutes les données spécifiées seront agrégées en utilisant les mêmes critères de binning. La réponse contiendra un ensemble de données pour chaque spécification "aggregateBy".
aggregateBy[].dataTypeName string Type de données à agréger. Toutes les sources de données fournissant ce type de données contribueront à l'agrégation. La réponse contiendra un seul ensemble de données pour ce nom de type de données. L'ensemble de données portera l'ID de source de données derived::com.google.android.gms:aggregated. Si l'utilisateur ne dispose d'aucune donnée pour ce type, un ensemble de données vide est renvoyé. Remarque: Les données peuvent être agrégées à l'aide de dataTypeName ou de dataSourceId, mais pas des deux.
aggregateBy[].dataSourceId string ID de la source de données à agréger. Seules les données provenant de l'ID de source de données spécifié seront incluses dans l'agrégation. Si elle est spécifiée, cette source de données doit exister. les champs d'application OAuth des identifiants fournis doivent accorder un accès en lecture à ce type de données. L'ensemble de données de la réponse aura le même ID de source de données. Remarque: Les données peuvent être agrégées à l'aide de dataTypeName ou de dataSourceId, mais pas des deux.
filteredDataQualityStandard[] list NE METTEZ PAS CE CHAMP. Il est ignoré.
bucketByTime nested object Spécifie que les données doivent être agrégées selon un intervalle de temps unique. Exclusion mutuelle des autres spécifications de binning.
bucketByTime.durationMillis long Indique que les résultats répartissent les données en buckets par durée précise de durationMillis. Les périodes qui ne contiennent aucune donnée seront incluses dans la réponse avec un ensemble de données vide.
bucketByTime.period nested object
bucketByTime.period.type string

Les valeurs possibles sont les suivantes: <ph type="x-smartling-placeholder">
    </ph>
  • "day"
  • "month"
  • "week"
bucketByTime.period.value integer
bucketByTime.period.timeZoneId string org.joda.timezone.DateTimeZone
bucketBySession nested object Indique que les données doivent être agrégées par session utilisateur. Les données qui ne sont pas comprises dans la période d'une session ne seront pas incluses dans la réponse. Exclusion mutuelle des autres spécifications de binning.
bucketBySession.minDurationMillis long Spécifie que seules les sessions dont la durée dépasse la valeur minDurationMillis sont prises en compte et utilisées comme conteneur pour les données globales.
bucketByActivityType nested object Spécifie que les données doivent être agrégées en fonction du type d'activité en cours lors de l'enregistrement des données. Toutes les données enregistrées au cours d'un certain type d'activité (pour la période donnée) seront agrégées dans le même ensemble. Les données enregistrées lorsque l'utilisateur n'était pas actif ne sont pas incluses dans la réponse. Exclusion mutuelle des autres spécifications de binning.
bucketByActivityType.minDurationMillis long Spécifie que seuls les segments d'activité dont la durée dépasse la valeur minDurationMillis sont considérés et utilisés comme conteneur pour les données globales.
bucketByActivityType.activityDataSourceId string Le flux d'activité par défaut est utilisé si aucun activityDataSourceId spécifique n'est spécifié.
bucketByActivitySegment nested object Indique que les données doivent être agrégées pour chaque segment d'activité enregistré pour un utilisateur. Semblable à "bucketByActivitySegment", à la différence que le binning est effectué pour chaque segment d'activité plutôt que pour tous les segments du même type. Exclusion mutuelle des autres spécifications de binning.
bucketByActivitySegment.minDurationMillis long Spécifie que seuls les segments d'activité dont la durée dépasse la valeur minDurationMillis sont considérés et utilisés comme conteneur pour les données globales.
bucketByActivitySegment.activityDataSourceId string Le flux d'activité par défaut est utilisé si aucun activityDataSourceId spécifique n'est spécifié.

Réponse

Si la requête aboutit, cette méthode renvoie un corps de réponse présentant la structure suivante :

{
  "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
    }
  ]
}
Nom de propriété Valeur Description Remarques
bucket[] list Liste des buckets contenant les données agrégées.
bucket[].type string Le type d'un bucket indique comment est effectuée l'agrégation des données dans le bucket.

Les valeurs possibles sont les suivantes: <ph type="x-smartling-placeholder">
    </ph>
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • "unknown"
bucket[].startTimeMillis long Heure de début des données agrégées, exprimée en millisecondes depuis l'epoch (incluse).
bucket[].endTimeMillis long Heure de fin des données agrégées, exprimée en millisecondes depuis l'epoch (incluse).
bucket[].dataset[] list Il y aura un ensemble de données par AggregateBy de la requête.
bucket[].session nested object Disponible pour Bucket.Type.SESSION
bucket[].session.id string Identifiant généré par le client, qui est unique parmi toutes les sessions appartenant à cet utilisateur spécifique.
bucket[].session.name string Nom de la session lisible par l'humain.
bucket[].session.description string Description de cette session.
bucket[].session.startTimeMillis long Heure de début incluse, exprimée en millisecondes depuis l'epoch.
bucket[].session.endTimeMillis long Heure de fin (incluse), en millisecondes depuis l'epoch.
bucket[].session.modifiedTimeMillis long Horodatage indiquant la date et l'heure de la dernière modification de la session.
bucket[].session.application nested object Application qui a créé la session.
bucket[].session.application.packageName string Nom du package de cette application. Il est utilisé comme identifiant unique lorsqu'il est créé par les applications Android, mais ne peut pas être spécifié par les clients REST. Pour les clients REST, le numéro de leur projet de développeur est reflété dans les ID des flux de données de la source de données, au lieu du nom du package.
bucket[].session.application.version string Version de l'application. Vous devez mettre à jour ce champ chaque fois que l'application change d'une façon qui affecte le calcul des données.
bucket[].session.application.detailsUrl string URI facultatif pouvant être utilisé pour créer un lien vers l'application.
bucket[].session.application.name string Nom de cette application. Ce nom est obligatoire pour les clients REST, mais nous n'appliquons pas l'unicité de ce nom. Elle est fournie à des fins de commodité pour les autres développeurs qui souhaitent identifier quel REST a créé une application ou une source de données.
bucket[].session.activityType integer Type d'activité représenté par cette session.
bucket[].session.activeTimeMillis long Durée d'activité de la session. Alors que start_time_millis et end_time_millis définissent la durée complète de la session, la durée d'activité peut être plus courte et spécifiée par active_time_millis. Si vous connaissez la durée d'inactivité au cours de la session, vous devez également l'insérer via un point de données "com.google.activity.segment" avec la valeur d'activité STILL

.
bucket[].activity integer Disponible pour Bucket.Type.Activité_TYPE, Bucket.Type.Activité_SEGMENT.

Essayer

Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.