इस सेक्शन में, किसी खास डेटा सोर्स से रोज़ाना के कुल पोषण की जानकारी पढ़ने का तरीका बताया गया है. जवाब में बकेट की सूची होती है. हर बकेट में 24 घंटे की अवधि का डेटा होता है. हर बकेट में एक डेटासेट और डेटापॉइंट होता है. इसमें रिकॉर्ड किए गए सभी तरह के पोषण डेटा के लिए एक फ़ील्ड होता है. अगर किसी समयावधि के लिए पोषण की कोई वैल्यू मौजूद नहीं है, तो कोई डेटासेट नहीं होता. अगर एक से ज़्यादा meal_type रिकॉर्ड किए जाते हैं, तो वैल्यू को UNKNOWN पर सेट कर दिया जाएगा.
Android
आपका ऐप्लिकेशन, किसी उपयोगकर्ता के लिए हर दिन के पोषण का कुल डेटा पढ़ सकता है. इसके लिए, उसे डेटा पढ़ने का अनुरोध करना होगा. साथ ही, 'DataType.TYPE_NUTRITION' और 'DataType.AGGREGATE_NUTRITION_SUMMARY' डेटा टाइप के लिए कुल डेटा तय करना होगा. इसे यहां दिए गए उदाहरण में दिखाया गया है:
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_NUTRITION_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build()
REST
आपका ऐप्लिकेशन, किसी उपयोगकर्ता के लिए हर दिन के पोषण से जुड़ा कुल डेटा पढ़ सकता है. इसके लिए, उसे POST अनुरोध करना होगा और तय किए गए डेटा सोर्स से क्वेरी करनी होगी. आपको हर डेटा सोर्स के लिए अलग क्वेरी करनी होगी.
एचटीटीपी मेथड
POST
अनुरोध किया गया यूआरएल
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
अनुरोध का मुख्य हिस्सा
{
"aggregateBy": [{
"dataSourceId":
"raw:com.google.nutrition:407408718192:MyDataSource"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1471244400000,
"endTimeMillis": 1471259040000
}
जवाब
अगर डेटा सोर्स बन जाता है, तो जवाब में 200 OK स्टेटस कोड दिखता है. जवाब के मुख्य हिस्से में, डेटा सोर्स का JSON फ़ॉर्मैट होता है. इसमें एक datasource.dataStreamId प्रॉपर्टी भी शामिल होती है. इसका इस्तेमाल, आने वाले अनुरोधों के लिए डेटा सोर्स आईडी के तौर पर किया जा सकता है.
CURL कमांड
$ curl --header "Authorization: Bearer ya29.yourtokenvalue --request POST \
--header "Content-Type: application/json;encoding=utf-8" --data @aggregate.json \
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate