Scrittura dati glicemia

La tua app può registrare i dati sulla glicemia scrivendo nel tipo di dati com.google.blood_glucose. In questo tipo di dati, ogni punto dati rappresenta una singola lettura istantanea della glicemia. Il punto dati contiene i campi per la concentrazione di glucosio nel sangue, le relazioni temporali con i pasti e il sonno e l'origine del campione 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 valore 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

Richiedi URL

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 è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, inclusa una proprietà datasource.dataStreamId che puoi utilizzare come ID origine 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 questa origine dati, che può essere inserito 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 in precedenza.

Metodo HTTP

PATCH

Richiedi URL

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 commenti, per mostrare l'uso delle costanti dei campi di integrità. Anche se l'API Fit al momento ignora i commenti, ti consigliamo vivamente di rimuoverli dal tuo codice, poiché 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 che sono stati 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