Votre application peut enregistrer des données sur la glycémie en écrivant dans le type de données com.google.blood_glucose. Dans ce type de données, chaque point de données représente une seule lecture instantanée de la glycémie. Le point de données contient des champs pour la glycémie, les relations temporelles avec les repas et le sommeil, ainsi que la source de l'échantillon mesuré. Tous les champs sont facultatifs, sauf celui de la glycémie.
- La concentration de glucose dans le sang est mesurée en mmol/L (1 mmol/L équivaut à 18 mg/dL).
- Si elle est spécifiée, la relation temporelle avec le repas doit avoir l'une des valeurs listées dans
FIELD_TEMPORAL_RELATION_TO_MEAL. - Le type de repas doit correspondre à l'une des valeurs listées dans
FIELD_MEAL_TYPE. Si le type de repas n'est pas connu, utilisezMEAL_TYPE_UNKNOWN. - Si elle est spécifiée, la relation temporelle avec le sommeil doit avoir l'une des valeurs listées dans
FIELD_TEMPORAL_RELATION_TO_SLEEP. - Si la source de l'échantillon de glycémie est spécifiée, elle doit avoir l'une des valeurs listées dans
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE.
Créer une source de données
Android
Pour écrire un point de données de glycémie, créez un DataSource de TYPE_BLOOD_GLUCOSE, comme illustré dans l'exemple suivant :
val bloodGlucoseSource = DataSource.Builder()
.setDataType(TYPE_BLOOD_GLUCOSE)
// ...
.build()
REST
Pour écrire un point de données de glycémie, créez une source de données.
Méthode HTTP
POST
URL de la requête
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corps de la requête
{
"dataStreamName": "BloodGlucose",
"type": "raw",
"application": {
"detailsUrl": "http://example.com",
"name": "My Example App",
"version": "1"
},
"dataType": {
"name": "com.google.blood_glucose"
}
}
Réponse
Si la source de données est créée, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON de la source de données, y compris une propriété datasource.dataStreamId que vous pouvez utiliser comme ID de source de données pour les requêtes ultérieures.
Commande CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \ --header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-ds.json \ https://www.googleapis.com/fitness/v1/users/me/dataSources
Ajouter des données
Android
Pour ajouter des données à la source créée ci-dessus, créez un point de données pour cette source de données, qui peut être inséré à l'aide de l'API History :
val bloodGlucose = DataPoint.builder(bloodGlucoseSource)
.setTimestamp(timestamp, TimeUnit.MILLISECONDS)
.setField(FIELD_BLOOD_GLUCOSE_LEVEL, 5.0f) // 90 mg/dL
.setField(FIELD_TEMPORAL_RELATION_TO_MEAL, FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL)
.setField(FIELD_MEAL_TYPE, MEAL_TYPE_BREAKFAST)
.setField(FIELD_TEMPORAL_RELATION_TO_SLEEP, TEMPORAL_RELATION_TO_SLEEP_ON_WAKING)
.setField(FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE, BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD)
.build()
REST
Cet exemple montre comment ajouter des données de glycémie à l'aide de la source de données créée ci-dessus.
Méthode HTTP
PATCH
URL de la requête
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000
Corps de la requête
Pour plus de clarté, le corps JSON ci-dessous est annoté avec des commentaires pour montrer l'utilisation des constantes de champ d'état. Bien que l'API Fit supprime actuellement les commentaires, il est vivement recommandé de les supprimer de votre code, car JSON ne les prend pas officiellement en charge.
{
"minStartTimeNs": 1574159699023000000,
"maxEndTimeNs": 1574159699023000000,
"dataSourceId": "datasource.dataStreamId",
"point": [
{
"startTimeNanos": 1574159699023000000,
"endTimeNanos": 1574159699023000000,
"dataTypeName": "com.google.blood_glucose",
"value": [
{
// Blood glucose level, 90 mg/dL
"fpVal": 5.0
},
{
// FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL
"intVal": 3
},
{
// MEAL_TYPE_BREAKFAST
"intVal": 1
},
{
// TEMPORAL_RELATION_TO_SLEEP_ON_WAKING
"intVal": 3
},
{
// BLOOD_GLUCOSE_SPECIMEN_SOURCE_CAPILLARY_BLOOD
"intVal": 2
}
]
}
]
}Réponse
Si les données de glycémie sont ajoutées, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON des données de glycémie qui ont été ajoutées.
Commande CURL
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request PATCH \
--header "Content-Type: application/json;encoding=utf-8" --data @blood-glucose-data.json \
https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000