Escriba datos de glucemia

Su aplicación puede registrar datos de glucemia escribiendo al tipo de datos com.google.blood_glucose. En este tipo de datos, cada dato representa una sola medición instantánea de la glucemia. El dato contiene campos para la concentración de glucemia, las relaciones temporales con las comidas y el sueño, y la fuente de la muestra. Todos los campos son opcionales, excepto la concentración de glucemia.

Crea una fuente de datos

Android

Para escribir un dato de glucemia, crea un DataSource nuevo de TYPE_BLOOD_GLUCOSE, como se muestra en el siguiente ejemplo:

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

REST

Para escribir un dato de glucemia, cree una fuente de datos nueva.

Método HTTP

POST

Request URL (URL de solicitud)

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

Cuerpo de la solicitud

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

Respuesta

Si la fuente de datos se crea de forma correcta, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos, incluida una propiedad datasource.dataStreamId que puedes usar como ID de fuente de datos para solicitudes posteriores.

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

Agrega datos

Android

Para agregar datos a la fuente creada anteriormente, crea un dato para esta fuente de datos, que se pueda insertar mediante la API de 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

En este ejemplo, se muestra cómo agregar datos de glucemia mediante la fuente de datos creada anteriormente.

Método HTTP

PATCH

Request URL (URL de solicitud)

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

Cuerpo de la solicitud

Para mayor claridad, el cuerpo JSON que se muestra a continuación está anotado con comentarios, a fin de mostrar el uso de constantes de campo de salud. Si bien la API de Fit actualmente dejará comentarios, te recomienda quitarlos de tu código, ya que JSON no admite oficialmente los comentarios.

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

Respuesta

Si los datos de glucemia se agregan correctamente, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de los datos de la glucemia que se agregaron.

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