Android
La tua app può ricevere un elenco di alimenti consumati in un determinato periodo di tempo creando una richiesta di lettura dei dati ed eseguendo query per DataType.TYPE_NUTRITION
, 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 Utilizzare la cronologia di fitness.
REST
Il recupero di un elenco di alimenti consumati tramite l'API REST prevede un processo in tre fasi:
- Recupera un elenco delle origini dati disponibili per il tipo di dati
com.google.nutrition
. In alternativa, se i dettagli dell'origine dati sono già noti, puoi utilizzarli direttamente nel passaggio successivo. - Ottenere un elenco degli alimenti consumati da ogni origine dati a turno.
- (Se esiste più di un'origine dati) combina gli elenchi di alimenti all'interno dell'applicazione client.
Recupero di un elenco di origini dati relative agli alimenti
Poiché è richiesto solo il datasource.dataStreamId
per ogni origine dati,
è possibile utilizzare una maschera del campo, come mostrato qui, per limitare la risposta solo a questa
proprietà.
Metodo HTTP
GET
Richiedi URL
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)
Risposta
In caso di esito positivo, la risposta sarà un codice di stato 200 OK
. Il corpo della risposta contiene un elenco JSON, con ogni elemento dell'elenco corrispondente 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
Ottenere un elenco degli alimenti consumati da un'origine dati
Utilizza a sua volta dataSource.dataStreamId
di ciascuna delle origini del passaggio 1 per recuperare gli elenchi di alimenti consumati.
datasetId
corrisponde all'inizio e alla fine del periodo di tempo richiesto, in nanosecondi, come definito nella risorsa del set di dati.
Ad esempio, 1546300800000000000-1546387200000000000
rappresenta il valore
datasetId
per il campo 01 gennaio 2019 00:00:00 UTC e 02 gennaio 2019 00:00:00.
Metodo HTTP
GET
Richiedi URL
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