Aggiungi dati di idratazione

Puoi aggiungere i dati di 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 come parte di una singola bevanda. Utilizza un numero 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 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 di 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 è stata creata, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, tra cui una proprietà datasource.dataStreamId che puoi utilizzare come ID origine dati per le richieste successive.

Comando CNAME

$ 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 d'acqua da 0,3 litri utilizzando la tua origine dati.

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

REST

Questo esempio mostra come aggiungere dati di idratazione utilizzando l'origine dati.

Metodo HTTP

PATCH

URL di 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 HTTP di risposta 200 OK. Il corpo della risposta contiene una rappresentazione JSON del set di dati.

Comando CNAME

$ 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