داده های یک نوع خاص یا جریان را در سطل هایی که بر اساس نوع مشخصی از مرز تقسیم می شوند، جمع می کند. مجموعه داده های متعدد از انواع مختلف و از منابع متعدد را می توان در هر درخواست دقیقاً در یک نوع سطل جمع کرد. اکنون آن را امتحان کنید .
درخواست کنید
درخواست HTTP
POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
پارامترها
نام پارامتر | ارزش | توضیحات |
---|---|---|
پارامترهای مسیر | ||
userId | string | جمع آوری داده ها برای شخص شناسایی شده از me برای نشان دادن کاربر تایید شده استفاده کنید. در حال حاضر فقط me پشتیبانی می شود. |
مجوز
این درخواست نیاز به مجوز با حداقل یکی از حوزه های زیر دارد:
دامنه |
---|
https://www.googleapis.com/auth/fitness.activity.read |
https://www.googleapis.com/auth/fitness.activity.write |
https://www.googleapis.com/auth/fitness.location.read |
https://www.googleapis.com/auth/fitness.location.write |
https://www.googleapis.com/auth/fitness.body.read |
https://www.googleapis.com/auth/fitness.body.write |
https://www.googleapis.com/auth/fitness.nutrition.read |
https://www.googleapis.com/auth/fitness.nutrition.write |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
https://www.googleapis.com/auth/fitness.body_temperature.read |
https://www.googleapis.com/auth/fitness.body_temperature.write |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
برای اطلاعات بیشتر، به صفحه احراز هویت و مجوز مراجعه کنید.
درخواست بدن
در بدنه درخواست، داده ها را با ساختار زیر ارائه دهید:
{ "startTimeMillis": long, "endTimeMillis": long, "aggregateBy": [ { "dataTypeName": string, "dataSourceId": string } ], "filteredDataQualityStandard": [ string ], "bucketByTime": { "durationMillis": long, "period": { "type": string, "value": integer, "timeZoneId": string } }, "bucketBySession": { "minDurationMillis": long }, "bucketByActivityType": { "minDurationMillis": long, "activityDataSourceId": string }, "bucketByActivitySegment": { "minDurationMillis": long, "activityDataSourceId": string } }
نام ملک | ارزش | توضیحات | یادداشت ها |
---|---|---|---|
startTimeMillis | long | شروع یک پنجره از زمان داده هایی که با این پنجره زمانی تلاقی می کنند، جمع می شوند. زمان بر حسب میلیثانیه از دوران، شامل میشود. | |
endTimeMillis | long | پایان یک پنجره زمان. داده هایی که با این پنجره زمانی تلاقی می کنند، جمع می شوند. زمان بر حسب میلیثانیه از دوران، شامل میشود. | |
aggregateBy[] | list | مشخصات داده هایی که باید تجمیع شوند. حداقل یک مشخصات aggregateBy باید ارائه شود. تمام دادههایی که مشخص شدهاند با استفاده از معیارهای سطلبندی یکسان جمعآوری میشوند. یک مجموعه داده در پاسخ برای هر مشخصات aggregateBy وجود خواهد داشت. | |
aggregateBy[]. dataTypeName | string | نوع داده برای تجمیع همه منابع داده ای که این نوع داده را ارائه می دهند، داده ها را به تجمع کمک می کنند. پاسخ شامل یک مجموعه داده واحد برای این نام نوع داده خواهد بود. مجموعه داده دارای شناسه منبع داده مشتق شده خواهد بود: | |
aggregateBy[]. dataSourceId | string | شناسه منبع داده برای تجمیع. فقط داده هایی از شناسه منبع داده مشخص شده در انبوه گنجانده می شود. اگر مشخص شده باشد، این منبع داده باید وجود داشته باشد. دامنه های OAuth در اعتبارنامه های ارائه شده باید به این نوع داده دسترسی خواندن بدهد. مجموعه داده در پاسخ همان شناسه منبع داده را خواهد داشت. توجه: داده ها را می توان با dataTypeName یا dataSourceId جمع کرد، نه هر دو. | |
filteredDataQualityStandard[] | list | این فیلد را پر نکنید. نادیده گرفته می شود. | |
bucketByTime | nested object | مشخص می کند که داده ها در یک بازه زمانی واحد جمع شوند. متقابلاً از سایر مشخصات سطل منصرف می شود. | |
bucketByTime. durationMillis | long | مشخص میکند که سطلهای نتیجه دادهها را دقیقاً بر اساس بازههای زمانی durationMillis جمعآوری میکنند. فریم های زمانی که حاوی داده ای نیستند در پاسخ با مجموعه داده خالی گنجانده می شوند. | |
bucketByTime. period | nested object | ||
bucketByTime.period. type | string | مقادیر قابل قبول عبارتند از:
| |
bucketByTime.period. value | integer | ||
bucketByTime.period. timeZoneId | string | org.joda.timezone.DateTimeZone | |
bucketBySession | nested object | مشخص می کند که داده ها توسط جلسات کاربر جمع شوند. داده هایی که در محدوده زمانی یک جلسه قرار نگیرند در پاسخ گنجانده نمی شوند. متقابلاً از سایر مشخصات سطل منصرف می شود. | |
bucketBySession. minDurationMillis | long | مشخص می کند که فقط جلساتی با مدت زمان بیشتر از minDurationMillis در نظر گرفته می شوند و به عنوان محفظه ای برای داده های انبوه استفاده می شوند. | |
bucketByActivityType | nested object | مشخص می کند که داده ها بر اساس نوع فعالیتی که هنگام ثبت داده ها انجام می شود جمع آوری شوند. تمام داده هایی که در طول یک نوع فعالیت خاص (برای بازه زمانی معین) ثبت شده اند در یک سطل جمع می شوند. داده هایی که در زمانی که کاربر فعال نبوده ثبت شده اند در پاسخ گنجانده نمی شوند. متقابلاً از سایر مشخصات سطل منصرف می شود. | |
bucketByActivityType. minDurationMillis | long | مشخص میکند که فقط بخشهای فعالیت با مدت زمان بیشتر از minDurationMillis در نظر گرفته میشوند و بهعنوان محفظهای برای دادههای انبوه استفاده میشوند. | |
bucketByActivityType. activityDataSourceId | string | اگر یک ActivityDataSourceId خاصی مشخص نشده باشد، از جریان فعالیت پیشفرض استفاده میشود. | |
bucketByActivitySegment | nested object | مشخص میکند که دادهها در هر بخش فعالیت ثبتشده برای یک کاربر جمعآوری شوند. مشابه bucketByActivitySegment، اما سطل بندی برای هر بخش فعالیت به جای همه بخش های یک نوع انجام می شود. متقابلاً از سایر مشخصات سطل منصرف می شود. | |
bucketByActivitySegment. minDurationMillis | long | مشخص میکند که فقط بخشهای فعالیت با مدت زمان بیشتر از minDurationMillis در نظر گرفته میشوند و بهعنوان محفظهای برای دادههای انبوه استفاده میشوند. | |
bucketByActivitySegment. activityDataSourceId | string | اگر یک ActivityDataSourceId خاصی مشخص نشده باشد، از جریان فعالیت پیشفرض استفاده میشود. |
پاسخ
در صورت موفقیت آمیز بودن، این روش یک بدنه پاسخ با ساختار زیر را برمی گرداند:
{ "bucket": [ { "type": string, "startTimeMillis": long, "endTimeMillis": long, "dataset": [ users.dataSources.datasets Resource ], "session": { "id": string, "name": string, "description": string, "startTimeMillis": long, "endTimeMillis": long, "modifiedTimeMillis": long, "application": { "packageName": string, "version": string, "detailsUrl": string, "name": string }, "activityType": integer, "activeTimeMillis": long }, "activity": integer } ] }
نام ملک | ارزش | توضیحات | یادداشت ها |
---|---|---|---|
bucket[] | list | لیستی از سطل های حاوی داده های انبوه. | |
bucket[]. type | string | نوع سطل نشان می دهد که چگونه تجمیع داده ها در سطل انجام می شود. مقادیر قابل قبول عبارتند از:
| |
bucket[]. startTimeMillis | long | زمان شروع برای دادههای انبوه، بر حسب میلیثانیه از دوران، شامل. | |
bucket[]. endTimeMillis | long | زمان پایان برای دادههای انبوه، بر حسب میلیثانیه از دوران، شامل. | |
bucket[]. dataset[] | list | یک مجموعه داده در هر AggregateBy در درخواست وجود خواهد داشت. | |
bucket[]. session | nested object | موجود برای Bucket.Type.SESSION | |
bucket[].session. id | string | یک شناسه ایجاد شده توسط مشتری که در تمام جلسات متعلق به این کاربر خاص منحصر به فرد است. | |
bucket[].session. name | string | نام جلسه قابل خواندن توسط انسان. | |
bucket[].session. description | string | توضیحاتی برای این جلسه | |
bucket[].session. startTimeMillis | long | زمان شروع، در میلی ثانیه از دوران، شامل. | |
bucket[].session. endTimeMillis | long | زمان پایان، در میلی ثانیه از دوران، شامل. | |
bucket[].session. modifiedTimeMillis | long | مهر زمانی که نشان می دهد جلسه آخرین بار چه زمانی اصلاح شده است. | |
bucket[].session. application | nested object | برنامه ای که جلسه را ایجاد کرد. | |
bucket[].session.application. packageName | string | نام بسته برای این برنامه. هنگامی که توسط برنامه های Android ایجاد می شود، به عنوان یک شناسه منحصر به فرد استفاده می شود، اما توسط مشتریان REST قابل تعیین نیست. مشتریان REST به جای packageName، شماره پروژه توسعهدهندهشان را در شناسههای جریان داده منبع داده منعکس میکنند. | |
bucket[].session.application. version | string | نسخه برنامه. هر زمان که برنامه به گونه ای تغییر کند که بر محاسبه داده ها تأثیر بگذارد، باید این فیلد را به روز کنید. | |
bucket[].session.application. detailsUrl | string | یک URI اختیاری که می تواند برای پیوند دادن به برنامه استفاده شود. | |
bucket[].session.application. name | string | نام این اپلیکیشن این برای مشتریان REST لازم است، اما ما منحصر به فرد بودن این نام را اعمال نمی کنیم. برای سایر توسعه دهندگانی که می خواهند تشخیص دهند کدام REST یک برنامه یا منبع داده ایجاد کرده است، به راحتی ارائه می شود. | |
bucket[].session. activityType | integer | نوع فعالیتی که این جلسه نشان می دهد. | |
bucket[].session. activeTimeMillis | long | زمان فعال جلسه در حالی که start_time_millis و end_time_millis زمان کامل جلسه را تعریف می کنند، زمان فعال می تواند کوتاهتر باشد و توسط active_time_millis مشخص شود. اگر زمان غیرفعال در طول جلسه مشخص باشد، باید از طریق یک نقطه داده com.google.activity.segment با مقدار فعالیت STILL نیز درج شود. | |
bucket[]. activity | integer | موجود برای Bucket.Type.ACTIVITY_TYPE، Bucket.Type.ACTIVITY_SEGMENT |
آن را امتحان کنید!
از APIs Explorer زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید.