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 spec প্রদান করতে হবে। নির্দিষ্ট করা সমস্ত ডেটা একই বাকেটিং মানদণ্ড ব্যবহার করে একত্রিত করা হবে। প্রতিটি aggregateBy স্পেকের জন্য প্রতিক্রিয়াতে একটি ডেটাসেট থাকবে।
aggregateBy[]. dataTypeName string একত্রিত করার জন্য ডেটা প্রকার। এই ডেটা টাইপ প্রদানকারী সমস্ত ডেটা উত্সগুলি একত্রিতকরণে ডেটা অবদান রাখবে। প্রতিক্রিয়াটিতে এই ডেটা টাইপ নামের জন্য একটি একক ডেটাসেট থাকবে। ডেটাসেটের একটি ডেটা উৎস আইডি থাকবে :com.google.android.gms:একত্রিত। ব্যবহারকারীর কাছে এই ডেটা টাইপের জন্য কোনো ডেটা না থাকলে, একটি খালি ডেটা সেট ফেরত দেওয়া হবে। দ্রষ্টব্য: ডেটা ডেটাটাইপ নাম বা ডেটাসোর্সআইডি দ্বারা একত্রিত করা যেতে পারে, উভয়ই নয়।
aggregateBy[]. dataSourceId string একত্রিত করার জন্য একটি ডেটা উৎস আইডি। শুধুমাত্র নির্দিষ্ট ডেটা উৎস আইডি থেকে ডেটা একত্রিত করা হবে। যদি নির্দিষ্ট করা হয়, এই তথ্য উৎস অবশ্যই বিদ্যমান থাকবে; সরবরাহকৃত শংসাপত্রের OAuth স্কোপগুলিকে এই ডেটা টাইপের পড়ার অ্যাক্সেস দিতে হবে। প্রতিক্রিয়ার ডেটাসেটের একই ডেটা উৎস আইডি থাকবে। দ্রষ্টব্য: ডেটা ডেটাটাইপ নাম বা ডেটাসোর্সআইডি দ্বারা একত্রিত করা যেতে পারে, উভয়ই নয়।
filteredDataQualityStandard[] list এই ক্ষেত্রটি জনবহুল করবেন না। এটা উপেক্ষা করা হয়.
bucketByTime nested object নির্দিষ্ট করে যে ডেটা একক সময়ের ব্যবধান দ্বারা একত্রিত করা হবে। অন্যান্য bucketing স্পেসিফিকেশন পারস্পরিক একচেটিয়া.
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 ব্যবহারকারী সেশন দ্বারা একত্রিত করা ডেটা নির্দিষ্ট করে৷ সেশনের সময়সীমার মধ্যে পড়ে না এমন ডেটা প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হবে না। অন্যান্য bucketing স্পেসিফিকেশন পারস্পরিক একচেটিয়া.
bucketBySession. minDurationMillis long নির্দিষ্ট করে যে শুধুমাত্র minDurationMillis-এর চেয়ে বেশি সময়কালের সেশনগুলিকে বিবেচনা করা হয় এবং সমষ্টিগত ডেটার জন্য একটি ধারক হিসাবে ব্যবহার করা হয়।
bucketByActivityType nested object ডেটা রেকর্ড করার সময় সঞ্চালিত কার্যকলাপের ধরন দ্বারা ডেটা একত্রিত করা হবে তা নির্দিষ্ট করে৷ একটি নির্দিষ্ট কার্যকলাপের সময় রেকর্ড করা সমস্ত ডেটা (.প্রদত্ত সময় সীমার জন্য) একই বালতিতে একত্রিত করা হবে৷ ব্যবহারকারী সক্রিয় না থাকার সময় রেকর্ড করা ডেটা প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হবে না। অন্যান্য bucketing স্পেসিফিকেশন পারস্পরিক একচেটিয়া.
bucketByActivityType. minDurationMillis long নির্দিষ্ট করে যে শুধুমাত্র minDurationMillis-এর চেয়ে বেশি সময়কালের কার্যকলাপের অংশগুলিকে বিবেচনা করা হয় এবং সমষ্টিগত ডেটার জন্য একটি ধারক হিসাবে ব্যবহার করা হয়।
bucketByActivityType. activityDataSourceId string একটি নির্দিষ্ট কার্যকলাপ ডেটাসোর্সআইডি নির্দিষ্ট না থাকলে ডিফল্ট কার্যকলাপ স্ট্রীম ব্যবহার করা হবে।
bucketByActivitySegment nested object নির্দিষ্ট করে যে ডেটা একজন ব্যবহারকারীর জন্য রেকর্ড করা প্রতিটি অ্যাক্টিভিটি সেগমেন্টকে একত্রিত করা হবে। bucketByActivitySegment-এর মতই, কিন্তু একই ধরনের সমস্ত সেগমেন্টের পরিবর্তে প্রতিটি ক্রিয়াকলাপের সেগমেন্টের জন্য bucketing করা হয়। অন্যান্য bucketing স্পেসিফিকেশন পারস্পরিক একচেটিয়া.
bucketByActivitySegment. minDurationMillis long নির্দিষ্ট করে যে শুধুমাত্র minDurationMillis-এর চেয়ে বেশি সময়কালের কার্যকলাপের অংশগুলিকে বিবেচনা করা হয় এবং সমষ্টিগত ডেটার জন্য একটি ধারক হিসাবে ব্যবহার করা হয়।
bucketByActivitySegment. activityDataSourceId string একটি নির্দিষ্ট কার্যকলাপ ডেটাসোর্সআইডি নির্দিষ্ট না থাকলে ডিফল্ট কার্যকলাপ স্ট্রীম ব্যবহার করা হবে।

প্রতিক্রিয়া

সফল হলে, এই পদ্ধতিটি নিম্নলিখিত কাঠামো সহ একটি প্রতিক্রিয়া বডি প্রদান করে:

{
  "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 ক্লায়েন্টদের তাদের ডেভেলপার প্রজেক্ট নম্বর প্যাকেজ নামের পরিবর্তে ডেটা সোর্স ডেটা স্ট্রিম আইডিতে প্রতিফলিত হবে।
bucket[].session.application. version string অ্যাপ্লিকেশনটির সংস্করণ। আপনার এই ক্ষেত্রটি আপডেট করা উচিত যখনই অ্যাপ্লিকেশনটি এমনভাবে পরিবর্তিত হয় যা ডেটা গণনাকে প্রভাবিত করে।
bucket[].session.application. detailsUrl string একটি ঐচ্ছিক ইউআরআই যা অ্যাপ্লিকেশনে আবার লিঙ্ক করতে ব্যবহার করা যেতে পারে।
bucket[].session.application. name string এই অ্যাপ্লিকেশনটির নাম। এটি REST ক্লায়েন্টদের জন্য প্রয়োজনীয়, কিন্তু আমরা এই নামের স্বতন্ত্রতা প্রয়োগ করি না। এটি অন্যান্য ডেভেলপারদের জন্য সুবিধার বিষয় হিসাবে প্রদান করা হয়েছে যারা সনাক্ত করতে চান কোন REST একটি অ্যাপ্লিকেশন বা ডেটা উত্স তৈরি করেছে৷
bucket[].session. activityType integer কার্যকলাপের ধরন এই অধিবেশন প্রতিনিধিত্ব করে.
bucket[].session. activeTimeMillis long সেশন সক্রিয় সময়. যদিও start_time_millis এবং end_time_millis সম্পূর্ণ সেশনের সময় নির্ধারণ করে, সক্রিয় সময় ছোট হতে পারে এবং সক্রিয়_সময়_মিলিস দ্বারা নির্দিষ্ট করা যেতে পারে। অধিবেশন চলাকালীন নিষ্ক্রিয় সময় জানা থাকলে, এটি একটি STILL কার্যকলাপ মান সহ একটি com.google.activity.segment ডেটা পয়েন্টের মাধ্যমেও ঢোকানো উচিত

bucket[]. activity integer Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT এর জন্য উপলব্ধ

এটা চেষ্টা করুন!

লাইভ ডেটাতে এই পদ্ধতিতে কল করতে এবং প্রতিক্রিয়া দেখতে নীচের APIs এক্সপ্লোরার ব্যবহার করুন।