Agrège les données d'un certain type ou d'un flux dans des buckets divisés par un type de limite donné. Plusieurs ensembles de données de plusieurs types et provenant de plusieurs sources peuvent être regroupés dans 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 | Value | 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
Cette requête nécessite une autorisation avec au moins l'un des champs d'application suivants:
Portée |
---|
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 avec 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é | Value | Description | Remarques |
---|---|---|---|
startTimeMillis |
long |
Début d'une fenêtre temporelle. Les données qui se chevauchent avec cette période sont agrégées. Temps écoulé, en millisecondes depuis l'époque, inclus. | |
endTimeMillis |
long |
Fin d'une fenêtre temporelle. Les données qui se chevauchent avec cette période sont agrégées. Temps écoulé, en millisecondes depuis l'époque, inclus. | |
aggregateBy[] |
list |
Spécification des données à agréger. Vous devez fournir au moins une spécification "aggregateBy". Toutes les données spécifiées seront agrégées selon les mêmes critères de binning. La réponse contient chaque ensemble de données pour chaque spécification "aggregateBy". | |
aggregateBy[].dataTypeName |
string |
Type de données à agréger. Toutes les sources qui fournissent 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 possède un ID de source de données dérivé de : | |
aggregateBy[].dataSourceId |
string |
ID de la source de données à agréger. Seules les données 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 par dataTypeName ou dataSourceId, mais pas par les deux. | |
filteredDataQualityStandard[] |
list |
NE REMPLACEZ PAS CE CHAMP. Elle est ignorée. | |
bucketByTime |
nested object |
Indique que les données doivent être agrégées par un seul intervalle de temps. Mutuellement exclusif des autres spécifications de binning | |
bucketByTime.durationMillis |
long |
Spécifie que les buckets de résultats agrègent les données sur des périodes de durée et de durée exactement identiques. Les périodes sans données seront incluses dans la réponse avec un ensemble de données vide. | |
bucketByTime.period |
nested object |
||
bucketByTime.period.type |
string |
Les valeurs autorisées sont les suivantes :
|
|
bucketByTime.period.value |
integer |
||
bucketByTime.period.timeZoneId |
string |
org.joda.timezone.DateTimeZone | |
bucketBySession |
nested object |
Indique que les données sont agrégées par sessions utilisateur. Les données qui n'appartiennent pas à la période d'une session ne sont pas incluses dans la réponse. Mutuellement exclusif des autres spécifications de binning | |
bucketBySession.minDurationMillis |
long |
Indique que seules les sessions d'une durée supérieure à minDurationMillis sont considérées et utilisées comme conteneur pour les données agrégées. | |
bucketByActivityType |
nested object |
Indique que les données sont agrégées en fonction du type d'activité en cours lors de l'enregistrement des données. Toutes les données enregistrées pendant un certain type d'activité (sur la période donnée) sont regroupées dans le même bucket. Les données enregistrées alors que l'utilisateur était inactif ne seront pas incluses dans la réponse. Mutuellement exclusif des autres spécifications de binning | |
bucketByActivityType.minDurationMillis |
long |
Indique que seuls les segments d'activité dont la durée est supérieure à minDurationMillis sont pris en compte et utilisés comme conteneur pour les données agrégées. | |
bucketByActivityType.activityDataSourceId |
string |
Le flux d'activité par défaut est utilisé si aucune activité activityDataSourceId n'est spécifiée. | |
bucketByActivitySegment |
nested object |
Indique que les données sont agrégées pour chaque segment d'activité enregistré pour un utilisateur. Semblable à bucketByActivitySegment, le binning est effectué pour chaque segment d'activité plutôt que pour tous les segments du même type. Mutuellement exclusif des autres spécifications de binning | |
bucketByActivitySegment.minDurationMillis |
long |
Indique que seuls les segments d'activité dont la durée est supérieure à minDurationMillis sont pris en compte et utilisés comme conteneur pour les données agrégées. | |
bucketByActivitySegment.activityDataSourceId |
string |
Le flux d'activité par défaut est utilisé si aucune activité activityDataSourceId n'est spécifiée. |
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é | Value | Description | Remarques |
---|---|---|---|
bucket[] |
list |
Liste de buckets contenant les données agrégées. | |
bucket[].type |
string |
Le type d'un bucket signifie comment l'agrégation des données est effectuée dans le bucket.
Les valeurs autorisées sont les suivantes :
|
|
bucket[].startTimeMillis |
long |
Heure de début des données agrégées, en millisecondes depuis l'époque, incluse. | |
bucket[].endTimeMillis |
long |
Heure de fin des données agrégées, incluse depuis le début de l'époque, en millisecondes. | |
bucket[].dataset[] |
list |
La requête comportera un ensemble de données par AggregateBy. | |
bucket[].session |
nested object |
Disponible pour Bucket.Type.SESSION | |
bucket[].session.id |
string |
Identifiant généré par le client et unique pour toutes les sessions appartenant à cet utilisateur. | |
bucket[].session.name |
string |
Nom lisible de la session. | |
bucket[].session.description |
string |
Description de cette session. | |
bucket[].session.startTimeMillis |
long |
Heure de début, en millisecondes depuis l'époque, incluse. | |
bucket[].session.endTimeMillis |
long |
Heure de fin, en millisecondes depuis l'époque, incluse. | |
bucket[].session.modifiedTimeMillis |
long |
Horodatage indiquant la dernière fois que la session a été modifiée. | |
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 des applications Android, mais ne peut pas être spécifié par les clients REST. Le numéro de projet du développeur client REST sera reflété dans les ID de flux de données de la source de données plutôt que dans le champ packageName. | |
bucket[].session.application.version |
string |
Version de l'application. Vous devez mettre à jour ce champ chaque fois que les modifications apportées à l'application affectent 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. Cette étape est obligatoire pour les clients REST, mais nous n'imposons pas l'unicité de ce nom. Elle est fournie pour faciliter l'identification des développeurs qui souhaitent créer 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 la durée d'inactivité de la session est connue, elle doit également être insérée via un point de données com.google.activity.segment avec une valeur d'activité STILL |
|
bucket[].activity |
integer |
Disponible pour Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_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.