Scrittura dei dati sulla glicemia

La tua app può registrare dati sulla glicemia scrivendo al tipo di dati com.google.blood_glucose. In questo tipo di dati, ogni punto dati rappresenta una singola lettura istantanea del glucosio nel sangue. Il punto dati contiene i campi per la concentrazione di glicemia, le relazioni temporali con pasti e sonno e l'origine del campione misurata. Tutti i campi, ad eccezione della concentrazione di glicemia, sono facoltativi.

Creare un'origine dati

Android

Per scrivere un punto dati glicemia, crea una nuova 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 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 è stata creata, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, tra cui una proprietà datasource.dataStreamId che puoi utilizzare come ID origine dati per le richieste successive.

Comando CNAME

$ 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 l'origine 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 del JSON mostrato di seguito è annotato con commenti per mostrare l'uso delle costanti del campo di integrità. Anche se al momento l'API Fit elimina i commenti, è vivamente consigliata la loro rimozione 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 codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dei dati sulla glicemia aggiunti.

Comando CNAME

$ 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