Android
La tua app può ottenere un elenco di alimenti assunti entro un periodo di tempo specificato 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, consulta l'articolo Usare la cronologia dell'attività fisica.
REST
Il recupero di un elenco di alimenti consumati tramite l'API REST prevede un processo in tre fasi:
- Recupera un elenco di 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. - Ottieni a sua volta un elenco di alimenti assunti da ogni origine dati.
- Se esistono più origini dati, combina gli elenchi di elementi alimentari all'interno dell'applicazione client.
Recupero di un elenco di origini dati alimentari in corso...
Poiché per ogni origine dati è richiesto soltanto datasource.dataStreamId
, è possibile utilizzare una maschera di campo, come mostrato qui, per limitare la risposta solo a questa proprietà.
Metodo HTTP
GET
URL di richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)
Risposta
Se l'operazione ha esito positivo, la risposta è un codice di stato 200 OK
. Il corpo della risposta
contiene un elenco JSON, in cui 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 CNAME
$ 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 di alimenti assunti da un'origine dati
Usa il dataSource.dataStreamId
di ciascuna delle origini nel passaggio 1, a sua volta, per recuperare gli elenchi di alimenti consumati.
Il valore datasetId
corrisponde all'inizio e alla fine del periodo di tempo richiesto, espresso in nanosecondi
come definito nella risorsa del set di dati.
Ad esempio, 1546300800000000000-1546387200000000000
rappresenta datasetId
per il periodo 01 gen 2019 00:00:00 UTC fino al 02 gen 2019 00:00:00.
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 CNAME
$ 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