Users.dataset: aggregate

Menggabungkan data dari jenis atau aliran tertentu ke dalam bucket yang dibagi berdasarkan jenis batas. Beberapa set data dari beberapa jenis dan dari beberapa sumber dapat digabungkan menjadi satu jenis bucket per permintaan. Coba sekarang.

Permintaan

Permintaan HTTP

POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate

Parameter

Nama parameter Nilai Deskripsi
Parameter jalur
userId string Menggabungkan data untuk orang yang diidentifikasi. Gunakan me untuk menunjukkan pengguna yang terautentikasi. Saat ini hanya me yang didukung.

Otorisasi

Permintaan ini memerlukan otorisasi dengan setidaknya salah satu cakupan berikut:

Cakupan
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

Untuk mengetahui informasi selengkapnya, lihat halaman autentikasi dan otorisasi.

Isi permintaan

Dalam isi permintaan, berikan data dengan struktur berikut:

{
  "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
  }
}
Nama properti Nilai Deskripsi Catatan
startTimeMillis long Awal periode waktu. Data yang berpotongan dengan jangka waktu ini akan digabungkan. Waktu dalam milidetik sejak epoch, inklusif.
endTimeMillis long Akhir dari jangka waktu. Data yang berpotongan dengan jangka waktu ini akan digabungkan. Waktu dalam milidetik sejak epoch, inklusif.
aggregateBy[] list Spesifikasi data yang akan digabungkan. Setidaknya satu spesifikasi agregatorBy harus diberikan. Semua data yang ditentukan akan diagregasi menggunakan kriteria pengelompokan yang sama. Akan ada satu set data dalam respons untuk setiap spesifikasi agregatorBy.
aggregateBy[].dataTypeName string Jenis data yang akan digabungkan. Semua sumber data yang menyediakan jenis data ini akan berkontribusi data pada agregasi. Respons akan berisi satu set data untuk nama jenis data ini. Set data akan memiliki ID sumber data turunan::com.google.android.gms:aggregated. Jika pengguna tidak memiliki data untuk jenis data ini, set data kosong akan ditampilkan. Catatan: Data dapat digabungkan berdasarkan dataTypeName atau dataSourceId, bukan keduanya.
aggregateBy[].dataSourceId string ID sumber data yang akan digabungkan. Hanya data dari ID sumber data yang ditentukan yang akan disertakan dalam agregasi. Jika ditentukan, sumber data ini harus ada; cakupan OAuth dalam kredensial yang diberikan harus memberikan akses baca untuk jenis data ini. Set data dalam respons akan memiliki ID sumber data yang sama. Catatan: Data dapat digabungkan berdasarkan dataTypeName atau dataSourceId, bukan keduanya.
filteredDataQualityStandard[] list JANGAN POPULASI KOLOM INI. Tombol ini diabaikan.
bucketByTime nested object Menentukan bahwa data digabungkan dengan satu interval waktu. Tidak dapat muncul bersamaan dari spesifikasi bucketing lainnya.
bucketByTime.durationMillis long Menentukan bahwa bucket hasil menggabungkan data berdasarkan jangka waktu persisnya durasiMillis. Jangka waktu yang tidak berisi data akan disertakan dalam respons dengan set data kosong.
bucketByTime.period nested object
bucketByTime.period.type string

Nilai yang dapat diterima:
  • "day"
  • "month"
  • "week"
bucketByTime.period.value integer
bucketByTime.period.timeZoneId string org.joda.timezone.DateTimeZone
bucketBySession nested object Menentukan bahwa data digabungkan berdasarkan sesi pengguna. Data yang tidak termasuk dalam rentang waktu sesi tidak akan disertakan dalam respons. Tidak dapat muncul bersamaan dari spesifikasi bucketing lainnya.
bucketBySession.minDurationMillis long Menentukan bahwa hanya sesi dengan durasi yang lebih lama dari minDurationMillis yang dipertimbangkan dan digunakan sebagai penampung untuk data gabungan.
bucketByActivityType nested object Menentukan bahwa data digabungkan berdasarkan jenis aktivitas yang dilakukan saat data direkam. Semua data yang direkam selama jenis aktivitas tertentu (.untuk rentang waktu tertentu) akan digabungkan ke dalam bucket yang sama. Data yang direkam saat pengguna tidak aktif tidak akan disertakan dalam respons. Tidak dapat muncul bersamaan dari spesifikasi bucketing lainnya.
bucketByActivityType.minDurationMillis long Menentukan bahwa hanya segmen aktivitas dengan durasi yang lebih lama dari minDurationMillis yang dipertimbangkan dan digunakan sebagai penampung untuk data gabungan.
bucketByActivityType.activityDataSourceId string Aliran aktivitas default akan digunakan jika activityDataSourceId tertentu tidak ditentukan.
bucketByActivitySegment nested object Menentukan bahwa data digabungkan setiap segmen aktivitas yang direkam untuk pengguna. Serupa dengan bucketByActivitySegment, tetapi pengelompokan dilakukan untuk setiap segmen aktivitas, bukan semua segmen dari jenis yang sama. Tidak dapat muncul bersamaan dari spesifikasi bucketing lainnya.
bucketByActivitySegment.minDurationMillis long Menentukan bahwa hanya segmen aktivitas dengan durasi yang lebih lama dari minDurationMillis yang dipertimbangkan dan digunakan sebagai penampung untuk data gabungan.
bucketByActivitySegment.activityDataSourceId string Aliran aktivitas default akan digunakan jika activityDataSourceId tertentu tidak ditentukan.

Respons

Jika berhasil, metode ini akan menampilkan isi respons dengan struktur berikut:

{
  "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
    }
  ]
}
Nama properti Nilai Deskripsi Catatan
bucket[] list Daftar bucket yang berisi data gabungan.
bucket[].type string Jenis bucket menunjukkan cara agregasi data dilakukan dalam bucket.

Nilai yang dapat diterima:
  • "activitySegment"
  • "activityType"
  • "session"
  • "time"
  • "unknown"
bucket[].startTimeMillis long Waktu mulai untuk data gabungan, dalam milidetik sejak epoch, inklusif.
bucket[].endTimeMillis long Waktu berakhir untuk data yang digabungkan, dalam milidetik sejak epoch, inklusif.
bucket[].dataset[] list Akan ada satu set data per AggregateBy dalam permintaan.
bucket[].session nested object Tersedia untuk Bucket.Type.SESSION
bucket[].session.id string ID buatan klien yang unik di semua sesi yang dimiliki oleh pengguna tertentu ini.
bucket[].session.name string Nama sesi yang dapat dibaca manusia.
bucket[].session.description string Deskripsi untuk sesi ini.
bucket[].session.startTimeMillis long Waktu mulai, dalam milidetik sejak epoch, inklusif.
bucket[].session.endTimeMillis long Waktu berakhir, dalam milidetik sejak epoch, inklusif.
bucket[].session.modifiedTimeMillis long Stempel waktu yang menunjukkan waktu sesi terakhir diubah.
bucket[].session.application nested object Aplikasi yang membuat sesi.
bucket[].session.application.packageName string Nama paket untuk aplikasi ini. ID ini digunakan sebagai ID unik saat dibuat oleh aplikasi Android, tetapi tidak dapat ditentukan oleh klien REST. Klien REST akan memiliki nomor project developer yang direfleksikan ke dalam ID aliran data Sumber Data, bukan packageName.
bucket[].session.application.version string Versi aplikasi. Anda harus mengupdate kolom ini setiap kali aplikasi berubah dengan cara yang memengaruhi komputasi data.
bucket[].session.application.detailsUrl string URI opsional yang dapat digunakan untuk menautkan kembali ke aplikasi.
bucket[].session.application.name string Nama aplikasi ini. Ini diperlukan untuk klien REST, tetapi kami tidak menerapkan keunikan nama ini. ID ini disediakan untuk memudahkan developer lain yang ingin mengidentifikasi REST mana yang membuat Aplikasi atau Sumber Data.
bucket[].session.activityType integer Jenis aktivitas yang diwakili sesi ini.
bucket[].session.activeTimeMillis long Waktu aktif sesi. Meskipun start_time_millis dan end_time_millis menentukan waktu sesi penuh, waktu aktif dapat lebih singkat dan ditentukan oleh active_time_millis. Jika waktu tidak aktif selama sesi diketahui, waktu tersebut juga harus dimasukkan melalui titik data com.google.activity.segment dengan nilai aktivitas STILL

bucket[].activity integer Tersedia untuk Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SE

Cobalah!

Gunakan APIs Explorer di bawah untuk memanggil metode ini pada data langsung dan melihat responsnya.