Users.dataset: aggregate

تجميع بيانات من نوع معين أو ساحة مشاركات في مجموعات مقسمة على مجموعة نوع الحدود. مجموعات بيانات متعددة من أنواع متعددة ومن مصادر متعددة يمكن تجميع المصادر في نوع حزمة واحد فقط لكل طلب. تجربة ذلك الآن

الطلب

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

في ما يلي القيم المقبولة:
  • "day"
  • "month"
  • "week"
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 يشير نوع الحزمة إلى كيفية تجميع البيانات في الحزمة.

في ما يلي القيم المقبولة:
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • "unknown"
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

جرّب الآن

يمكنك استخدام "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الردّ.