Escribir datos de glucemia

La app puede registrar datos de glucemia escribiendo Tipo de datos com.google.blood_glucose. En este tipo de datos, cada dato representa una sola instancia medición de glucemia. El dato contiene campos para la glucemia la concentración, las relaciones temporales con las comidas y el sueño, y la fuente espécimen que se midió. Todos los campos, excepto la concentración de glucemia son opcionales.

Cómo crear una fuente de datos

Android

Para escribir un dato de glucemia, cree un nuevo DataSource. 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, crea una nueva fuente de datos.

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 creó correctamente, la respuesta tendrá un estado 200 OK. código. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos. incluida una propiedad datasource.dataStreamId que puedas usar como datos el ID de origen 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 estos datos. fuente, que se puede insertar con 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 con el 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, para mostrar el uso de constantes del campo de salud. Si bien la API de Fit dejará comentarios actualmente, es recomendamos que las quites de tu código, ya que JSON no respaldar 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 se agregan correctamente los datos sobre la glucemia, la respuesta es 200 OK. código de estado. El cuerpo de la respuesta contiene una representación JSON de la sangre datos de glucosa 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