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: | |
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">
|
|
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">
|
|
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.