Android
Uygulamanız, aşağıdaki örnekte gösterildiği gibi, bir veri okuma isteği oluşturup DataType.TYPE_NUTRITION
için sorgulama yaparak belirli bir zaman aralığında yenen gıda öğelerinin listesini alabilir:
val readRequest = DataReadRequest.Builder()
.read(DataType.TYPE_NUTRITION)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
Verileri okuma hakkında daha fazla bilgi için Fitness Geçmişi ile çalışma konusuna bakın.
REST
REST API aracılığıyla yenen gıda öğelerinin listesini almak üç aşamalı bir süreçtir:
com.google.nutrition
veri türü için mevcut veri kaynaklarının listesini alın. Alternatif olarak, veri kaynağı ayrıntıları zaten biliniyorsa bir sonraki adımda bunlar doğrudan kullanılabilir.- Sırayla her veri kaynağından yenen yiyeceklerin listesini elde edin.
- (Birden fazla veri kaynağı varsa) istemci uygulamasındaki gıda maddelerinin listelerini birleştirin.
Gıda verisi kaynaklarının listesini alma
Her bir veri kaynağından yalnızca datasource.dataStreamId
gerektiğinden, yanıtı yalnızca bu özellikle sınırlamak için burada gösterildiği gibi bir alan maskesi kullanılabilir.
HTTP yöntemi
GET
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources?dataTypeName=com.google.nutrition&fields=dataSource(dataStreamId)
Yanıt
Başarılı olursa yanıt, bir 200 OK
durum kodu olur. Yanıt gövdesi, listedeki her öğe bir veri kaynağına karşılık gelen bir JSON listesi içerir.
Örneğin:
{
"dataSource": [
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource1:"
},
{
"dataStreamId": "raw:com.google.nutrition:com.example.nutritionSource2:"
}
]
}
CURL komutu
$ 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
Bir veri kaynağından yenen yiyeceklerin listesini alma
Yenen yiyeceklerin listelerini almak için 1. adımdaki kaynakların her birindeki dataSource.dataStreamId
öğesini kullanın.
datasetId
, veri kümesi kaynağında tanımlandığı gibi, gerekli dönemin nanosaniye cinsinden başlangıcı ve bitişidir.
Örneğin 1546300800000000000-1546387200000000000
, 01 Ocak 2019 00:00:00 UTC ile 02 Ocak 2019 00:00:00 aralığı için datasetId
temsil eder.
HTTP yöntemi
GET
İstek URL'si
https://www.googleapis.com/fitness/v1/users/me/dataSources/dataSource.dataStreamId/datasets/1546300800000000000-1546387200000000000?fields=point%2Fvalue%2FstringVal
Yanıt
{
"point": [
{
"value": [
{},
{},
{
"stringVal": "apple"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "banana"
}
]
},
{
"value": [
{},
{},
{
"stringVal": "carrot"
}
]
}
]
}
CURL komutu
$ 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