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