Aggiungi dati sull'idratazione

Puoi aggiungere dati sull'idratazione a Google Fit creando un'origine dati e utilizzando il tipo di dati com.google.hydration. Ogni punto dati rappresenta il volume, in litri, consumato da un utente nell'ambito di una singola bevanda. Utilizza un valore float per specificare il volume. Nota: il timestamp indica quando è stata consumata la bevanda. Poiché com.google.hydration è un tipo di dati istantaneo, l'ora di inizio e l'ora di fine devono essere uguali.

Creare 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 di 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 dei dati di idratazione

Android

Questo esempio mostra come creare un nuovo punto dati e aggiungere dati di idratazione per una bevanda di 0,3 litri di acqua 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 i dati sull'idratazione utilizzando l'origine dati.

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 del 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