Aggiungi dati sull'idratazione

Puoi aggiungere i dati sull'idratazione a Google Fit creando un'origine dati e utilizzando il tipo di dato com.google.hydration. Ogni punto dati rappresenta il volume, in litri, consumati da un utente come parte di una singola bevanda. Utilizza un numero in virgola mobile per e specificare il volume. Nota: il timestamp indica quando è stata consumata la bevanda. Poiché com.google.hydration è un tipo di dati istantanei, l'ora di inizio e di fine devono essere uguali.

Creazione di un'origine dati

Android

Utilizza DataSource.Builder per creare una nuova origine dati. Ad esempio, hydrationSource.

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

REST

Chiama l'API REST per creare una nuova origine dati. Ad esempio, HydrationSource.

Metodo HTTP

POST

URL richiesta

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

Corpo della richiesta

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

Risposta

Se l'origine dati viene creata correttamente, la risposta è un codice stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, inclusa una proprietà datasource.dataStreamId che puoi utilizzare come ID dell'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 @hydration-ds.json \
  https://www.googleapis.com/fitness/v1/users/me/dataSources

Aggiunta di dati di idratazione

Android

Questo esempio mostra come creare un nuovo punto dati e aggiungere l'idratazione per una bevanda d'acqua di 0,3 litri, utilizzando l'origine dati.

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

REST

Questo esempio mostra come aggiungere dati sull'idratazione utilizzando questi dati sorgente.

Metodo HTTP

PATCH

URL richiesta

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

Corpo della richiesta

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

Risposta

Se il punto dati è stato creato correttamente, riceverai un codice di stato della risposta HTTP 200 OK. Il corpo della risposta contiene una rappresentazione JSON il set di dati.

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