Écrire des données sur la glycémie

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 entrée instantanée le relevé de la glycémie. Le point de données contient des champs pour la glycémie la concentration, les relations temporelles avec les repas et le sommeil, ainsi que la source de la du spécimen qui a été mesuré. Tous les champs, à l'exception de la concentration de glycémie sont facultatifs.

  • La concentration de glycémie est mesurée en mmol/L (1 mmol/L correspond à équivalent à 18 mg/dl).
  • Si elle est spécifiée, la relation temporelle avec le repas doit comporter 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, utilisez MEAL_TYPE_UNKNOWN.
  • Si elle est spécifiée, la relation temporelle avec le sommeil doit comporter l'une des valeurs listées dans FIELD_TEMPORAL_RELATION_TO_SLEEP.
  • Si spécifiée, la source de l'échantillon de glycémie doit comporter 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 sur la glycémie, créez un DataSource sur 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 sur la 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 a bien été créée, la réponse est un état 200 OK. du code source. 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 l'ID source 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 ces données source, qui peut être insérée à 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 sur la glycémie à l'aide du 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, afin de montrer l'utilisation des constantes des champs "health". Bien que l'API Fit abandonne actuellement les commentaires, fortement recommandé de les supprimer de votre code, car JSON ne permet pas pour soutenir officiellement les commentaires.

{
  "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 sur la glycémie sont ajoutées avec succès, la réponse est une 200 OK code d'état. Le corps de la réponse contient une représentation JSON du sang. les données sur la 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