Agregar datos de hidratación

Puedes agregar datos de hidratación a Google Fit si creas una fuente de datos y usas el tipo de datos com.google.hydration. Cada dato representa el volumen, en litros, que consume un usuario como parte de una sola bebida. Usa un número de punto flotante para especificar el volumen. Nota: La marca de tiempo indica cuándo se consumió la bebida. Dado que com.google.hydration es un tipo de datos instantáneo, las horas de inicio y finalización deben ser las mismas.

Cree una fuente de datos

Android

Usa DataSource.Builder para crear una fuente de datos nueva. Por ejemplo, hydrationSource

val hydrationSource = DataSource.Builder()
    .setDataType(DataType.TYPE_HYDRATION)
    .setStreamName("hydrationSource")
    // ... 
    .build()

REST

Llama a la API de REST para crear una fuente de datos nueva. Por ejemplo, HydrationSource.

Método HTTP

POST

Request URL (URL de solicitud)

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

Cuerpo de la solicitud

{
  "dataStreamName": "HydrationSource",
  "type": "raw",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "My Example App",
    "version": "1"
  },
  "dataType": {
    "name": "com.google.hydration",
    "field": [
     {
      "name": "volume",
      "format": "floatPoint",
      "optional": false
     }
    ]
   }
}

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 @hydration-ds.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources

Agregar datos de hidratación

Android

En este ejemplo, se muestra cómo crear un nuevo punto de datos y agregar datos de hidratación para una bebida de 0.3 litros de agua con tu fuente de datos.

val hydration = DataPoint.builder(hydrationSource)
    .setTimestamp(timestamp, TimeUnit.MILLISECONDS)
    .setField(FIELD_VOLUME, 0.3f)
    .build()

REST

En este ejemplo, se muestra cómo agregar datos de hidratación con tu fuente de datos.

Método HTTP

PATCH

Request URL (URL de solicitud)

https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.hydration:407408718192:HydrationSource/datasets/1275753581000000000-1275753581000000000

Cuerpo de la solicitud

{
 "minStartTimeNs": 1275753581000000000,
 "maxEndTimeNs": 1275753581000000000,
 "dataSourceId": "raw:com.google.hydration:407408718192:HydrationSource",
 "point": [
  {
   "startTimeNanos": 1275753581000000000,
   "endTimeNanos": 1275753581000000000,
   "dataTypeName": "com.google.hydration",
   "value": [
    {
     "fpVal": 0.3
    }
   ]
  }
 ]
}

Respuesta

Si tus datos se crearon correctamente, obtendrás un código de estado de respuesta HTTP 200 OK. El cuerpo de la respuesta contiene una representación JSON del conjunto de datos.

Comando CURL

$ curl --header "Authorization: Bearer ya29.yourtokenvalue" --request PATCH \
  --header "Content-Type: application/json;encoding=utf-8" --data @hydration-data.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources/raw:com.google.hydration:407408718192:HydrationSource/datasets/1275753581000000000-1275753581000000000