Aggiungi dati sull'idratazione

Puoi aggiungere i 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. Utilizzare un valore in virgola mobile 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 corrispondere.

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

Richiedi URL

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 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 i dati di idratazione per una bevanda d'acqua da 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 i dati di idratazione utilizzando l'origine dati.

Metodo HTTP

PATCH

Richiedi URL

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