این بخش نحوه خواندن اطلاعات تغذیهای روزانه از یک منبع داده خاص را نشان میدهد. پاسخ شامل لیستی از سطلها (یکی در هر دوره ۲۴ ساعته) است که هر کدام دارای یک مجموعه داده و یک نقطه داده هستند که شامل فیلدی برای همه انواع دادههای تغذیهای ثبت شده است. اگر هیچ مقدار تغذیهای برای یک دوره زمانی خاص وجود نداشته باشد، هیچ مجموعه دادهای وجود ندارد. اگر بیش از یک meal_type ثبت شود، مقدار روی UNKNOWN تنظیم خواهد شد.
اندروید
برنامه شما میتواند با ایجاد یک درخواست خواندن داده و مشخص کردن مجموع دادههای مربوط به انواع داده '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()
استراحت
برنامه شما میتواند با ارسال یک درخواست POST و پرسوجو از منبع داده مشخصشده، دادههای تغذیهای روزانه یک کاربر را بخواند. شما باید برای هر منبع داده یک پرسوجوی جداگانه انجام دهید.
روش HTTP
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