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