يُجمِّع البيانات من نوع معيّن أو مصدر البيانات إلى مجموعات بيانات مقسومًا على نوع حدّ معيّن. يمكن تجميع مجموعات بيانات متعددة من أنواع متعددة ومن مصادر متعددة في نوع واحد على مستوى الحزمة لكل طلب. التجربة الآن
طلب
طلب 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[].dataTypeName |
string |
نوع البيانات الذي سيتم تجميعه ستساهم جميع مصادر البيانات التي تقدّم نوع البيانات هذا في تجميع البيانات. ستحتوي الاستجابة على مجموعة بيانات واحدة لاسم نوع البيانات هذا. وستتضمّن مجموعة البيانات رقم تعريف مصدر البيانات مشتقًا: | |
aggregateBy[].dataSourceId |
string |
رقم تعريف مصدر البيانات للتجميع. لن يتم تضمين سوى البيانات من رقم تعريف مصدر البيانات المحدّد في التجميع. وإذا تم تحديد هذا المصدر، يجب أن يكون مصدر البيانات متوفرًا، ويجب أن تمنح نطاقات OAuth في بيانات الاعتماد المقدَّمة إذن وصول للقراءة إلى نوع البيانات هذا. وستتضمّن مجموعة البيانات في الرد رقم تعريف مصدر البيانات نفسه. ملاحظة: يمكن تجميع البيانات من خلال dataTypeName أو dataSourceId، وليس كليهما. | |
filteredDataQualityStandard[] |
list |
يُرجى عدم تعبئة هذا الحقل. ويتم تجاهله. | |
bucketByTime |
nested object |
تحدِّد هذه السياسة أنه يتم تجميع البيانات من خلال فاصل زمني واحد. استبعادًا مشتركًا لمواصفات مجموعة البيانات الأخرى | |
bucketByTime.durationMillis |
long |
يحدِّد هذا الإعداد أنّ حِزم النتائج تجمع البيانات حسب الإطار الزمني للمدة (Millis) المحدَّد بالضبط. سيتم تضمين الإطارات الزمنية التي لا تحتوي على بيانات في الاستجابة مع مجموعة بيانات فارغة. | |
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 |
يحدّد ذلك الجلسات التي تزيد مدتها عن minالمدةMillis فقط وتُستخدَم كحاوية للبيانات المجمّعة. | |
bucketByActivityType |
nested object |
تحدِّد هذه السياسة أنّه يتم تجميع البيانات حسب نوع النشاط الذي تم تنفيذه عند تسجيل البيانات. وسيتم تجميع كل البيانات التي تم تسجيلها خلال نوع نشاط معيّن (للنطاق الزمني المحدّد) في الحزمة نفسها. ولن يتم تضمين البيانات التي تم تسجيلها عندما كان المستخدم غير نشط في الاستجابة. استبعادًا مشتركًا لمواصفات مجموعة البيانات الأخرى | |
bucketByActivityType.minDurationMillis |
long |
يحدّد هذا الإعداد شرائح النشاط التي تبلغ مدتها أطول من minالمدةMillis فقط وتُستخدَم كحاوية للبيانات المجمّعة. | |
bucketByActivityType.activityDataSourceId |
string |
وسيتم استخدام مصدر بيانات النشاط التلقائي في حال عدم تحديد activityDataSourceId محدّد. | |
bucketByActivitySegment |
nested object |
يشير هذا الإعداد إلى أنّه سيتم تجميع البيانات في كل شريحة نشاط تم تسجيلها لمستخدم. يشبه bucketByActivity المعلّم، ولكن يتم تجميع البيانات لكل شريحة من الأنشطة، وليس لكل شرائح من النوع نفسه. استبعادًا مشتركًا لمواصفات مجموعة البيانات الأخرى | |
bucketByActivitySegment.minDurationMillis |
long |
يحدّد هذا الإعداد شرائح النشاط التي تبلغ مدتها أطول من minالمدةMillis فقط وتُستخدَم كحاوية للبيانات المجمّعة. | |
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 |
جرِّب هذه الميزة الآن.
استخدِم "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة في البيانات المباشرة والاطّلاع على الاستجابة.