Android
La tua app può recuperare un elenco di alimenti consumati entro un periodo di tempo specificato
creando una richiesta di lettura dei dati ed eseguendo query per DataType.TYPE_NUTRITION
, come
come mostrato nell'esempio seguente:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Per ulteriori informazioni sulla lettura dei dati, vedi Utilizzo della cronologia di fitness.
REST
Il recupero di un elenco di alimenti consumati tramite l'API REST è una procedura in tre fasi di elaborazione:
- Recupera un elenco di origini dati disponibili per
com.google.nutrition
tipo di dati. In alternativa, se i dettagli dell'origine dati sono già noti, che potrai usare direttamente nel passaggio successivo. - Ottieni, uno per uno, un elenco degli alimenti consumati da ciascuna origine dati.
- (Se è presente più di un'origine dati) combina gli elenchi di alimenti all'interno dell'applicazione client.
Recupero di un elenco di origini dati alimentari
Poiché per ogni origine dati è richiesto solo il valore datasource.dataStreamId
,
è possibile utilizzare una maschera di campo, come mostrato qui, per limitare la risposta solo a questo
proprietà.
Metodo HTTP
GET
URL di richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)
Risposta
In caso di esito positivo, la risposta è un codice di stato 200 OK
. Il corpo della risposta
contiene un elenco JSON, dove ogni elemento dell'elenco corrisponde a un'origine dati.
Ad esempio:
{
"dataSource": [
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
},
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
}
]
}
Comando CURL
$ curl \
'https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)' \
--header 'Authorization: Bearer ya29.yourtokenvalue' \
--header 'Accept: application/json' \
--compressed
Come ottenere un elenco degli alimenti consumati da un'origine dati
Utilizza dataSource.dataStreamId
di ciascuna delle origini nel passaggio 1, in
per recuperare gli elenchi degli alimenti consumati.
datasetId
indica l'inizio e la fine del periodo di tempo richiesto, in nanosecondi
come definito nella risorsa del set di dati.
Ad esempio, 1546300800000000000-1546387200000000000
rappresenta
datasetId
per le 00:00:00 UTC del 1° gennaio 2019 alle 00:00:00 del 2 gennaio 2019.
Metodo HTTP
GET
URL di richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Risposta
{
"point": [
{
"value": [
{},
{},
{
"stringVal": "apple"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "banana"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "carrot"
}
]
}
]
}
Comando CURL
$ curl \ 'https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/157059699023000000-1575159699023999000?fields=point%2Fvalue%2FstringVal' \ --header 'Authorization: Bearer ya29.yourtokenvalue' \ --header 'Accept: application/json' \ --compressed