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.
- La concentración de glucemia se mide en mmol/L (1 mmol/L equivale a 18 mg/dL).
- Si se especifica, la relación temporal con la comida debe tener uno de los valores que se enumeran en
FIELD_TEMPORAL_RELATION_TO_MEAL
. - El tipo de comida debe tener uno de los valores que se indican en
FIELD_MEAL_TYPE
. Si no conoce el tipo de comida, useMEAL_TYPE_UNKNOWN
. - Si se especifica, la relación temporal con el sueño debe tener uno de los valores enumerados en
FIELD_TEMPORAL_RELATION_TO_SLEEP
. - Si se especifica, la fuente de la muestra de glucemia debe tener uno de los valores que se indican en
FIELD_BLOOD_GLUCOSE_SPECIMEN_SOURCE
.
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