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

القيم المقبولة هي:
  • "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

جرِّب هذه الميزة الآن.

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