בקטע הזה מוצג תהליך קריאת נתוני התזונה היומיים המצטברים ממקור נתונים ספציפי. התשובה מכילה רשימה של דליים (אחד לכל תקופה של 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 ושאילתה למקור הנתונים שצוין. צריך להריץ שאילתה נפרדת לכל מקור נתונים.
שיטת HTTP
POST
כתובת ה-URL של הבקשה
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