Scrittura dati glicemia

La tua app può registrare dati sulla glicemia scrivendo nell' Tipo di dati com.google.blood_glucose. In questo tipo di dati, ogni punto dati rappresenta un singolo lettura della glicemia. Il punto dati contiene campi per la glicemia concentrazione, relazioni temporali con i pasti e il sonno e la fonte campione che è stato misurato. Tutti i campi tranne la concentrazione di glicemia sono facoltativi.

Creare un'origine dati

Android

Per scrivere un punto dati sulla glicemia, crea un nuovo DataSource di TYPE_BLOOD_GLUCOSE, come mostrato nell'esempio seguente:

val bloodGlucoseSource = DataSource.Builder()
    .setDataType(TYPE_BLOOD_GLUCOSE)
    // ...
    .build()

REST

Per scrivere un punto dati sulla glicemia, crea una nuova origine dati.

Metodo HTTP

POST

URL di richiesta

https://www.googleapis.com/fitness/v1/users/me/dataSources

Corpo della richiesta

{
  "dataStreamName": "BloodGlucose",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.blood_glucose"
   }
}

Risposta

Se l'origine dati viene creata correttamente, la risposta è uno stato 200 OK le API nel tuo codice. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, inclusa una proprietà datasource.dataStreamId che puoi utilizzare come dati per le richieste successive.

Comando 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

Aggiunta di dati

Android

Per aggiungere dati all'origine creata in precedenza, crea un punto dati per questi dati , che può essere inserita utilizzando 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

Questo esempio mostra l'aggiunta di dati sulla glicemia utilizzando l'origine dati creata sopra.

Metodo HTTP

PATCH

URL di richiesta

https://www.googleapis.com/fitness/v1/users/me/dataSources/datasource.dataStreamId/datasets/1574159699023000000-1574159699023000000

Corpo della richiesta

Per chiarezza, il corpo JSON mostrato di seguito è annotato con i commenti, per mostrare l'uso delle costanti dei campi sanitari. Al momento l'API Fit rilascerà i commenti, ti consigliamo vivamente di rimuoverli dal codice, perché JSON non supporta ufficialmente i commenti.

{
  "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
        }
      ]
    }
  ]
}

Risposta

Se i dati sulla glicemia vengono aggiunti correttamente, la risposta è un 200 OK codice di stato. Il corpo della risposta contiene una rappresentazione JSON del sangue dati sulla glicemia aggiunti.

Comando 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