Users.dataset: aggregate

Menggabungkan data jenis atau aliran tertentu ke dalam bucket yang dibagi dengan jenis batas tertentu. Beberapa set data dengan beberapa jenis dan dari beberapa sumber dapat digabungkan ke dalam tepat 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 Data gabungan untuk orang yang diidentifikasi. Gunakan me untuk menunjukkan pengguna yang diautentikasi. Hanya me yang didukung untuk saat ini.

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, sediakan 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 periode waktu ini akan digabungkan. Waktu dalam milidetik sejak epoch, inklusif.
endTimeMillis long Akhir jangka waktu. Data yang berpotongan dengan periode waktu ini akan digabungkan. Waktu dalam milidetik sejak epoch, inklusif.
aggregateBy[] list Spesifikasi data yang akan digabungkan. Setidaknya satu spesifikasi agregatDengan harus diberikan. Semua data yang ditentukan akan digabungkan menggunakan kriteria bucketing yang sama. Akan ada satu set data dalam respons untuk setiap spesifikasi agregat.
aggregateBy[].dataTypeName string Jenis data yang akan digabungkan. Semua sumber data yang menyediakan jenis data ini akan memberikan kontribusi data ke 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 dengan 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 di kredensial yang diberikan harus memberikan akses baca ke jenis data ini. Set data dalam respons akan memiliki ID sumber data yang sama. Catatan: Data dapat digabungkan dengan dataTypeName atau dataSourceId, bukan keduanya.
filteredDataQualityStandard[] list JANGAN MELEWATKAN KOLOM INI. Diabaikan.
bucketByTime nested object Menentukan bahwa data digabungkan dengan satu interval waktu. Saling eksklusif dari spesifikasi bucketing lainnya.
bucketByTime.durationMillis long Menentukan bahwa bucket hasil menggabungkan data berdasarkan durasi yang tepat dalam milidetik. 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 adalah:
  • "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 berada dalam rentang waktu sesi tidak akan disertakan dalam respons. Saling eksklusif dari spesifikasi bucketing lainnya.
bucketBySession.minDurationMillis long Menentukan bahwa hanya sesi dengan durasi lebih lama dari minDurationMillis yang dipertimbangkan dan digunakan sebagai penampung untuk data gabungan.
bucketByActivityType nested object Menentukan bahwa data digabungkan menurut jenis aktivitas yang dilakukan saat data dicatat. 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. Saling eksklusif dari spesifikasi bucketing lainnya.
bucketByActivityType.minDurationMillis long Menentukan bahwa hanya segmen aktivitas dengan durasi 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 gabungan setiap segmen aktivitas yang dicatat untuk pengguna. Serupa dengan bucketByActivitySegmen, tetapi pembuatan bucket dilakukan untuk setiap segmen aktivitas, bukan semua segmen dari jenis yang sama. Saling eksklusif dari spesifikasi bucketing lainnya.
bucketByActivitySegment.minDurationMillis long Menentukan bahwa hanya segmen aktivitas dengan durasi 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.

Tanggapan

Jika berhasil, metode ini 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 menandakan cara agregasi data dilakukan di bucket.

Nilai yang dapat diterima adalah:
  • "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 gabungan, 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 yang dibuat 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 kapan sesi terakhir diubah.
bucket[].session.application nested object Aplikasi yang membuat sesi.
bucket[].session.application.packageName string Nama paket untuk aplikasi ini. Ini digunakan sebagai ID unik saat dibuat oleh aplikasi Android, tetapi tidak dapat ditentukan oleh klien REST. Klien REST akan menampilkan nomor project developer-nya ke ID aliran data Sumber Data, bukan packageName.
bucket[].session.application.version string Versi aplikasi. Anda harus memperbarui 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. Fungsi 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_milis dan end_time_millis menentukan waktu sesi penuh, waktu aktif dapat menjadi 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 MASIH

bucket[].activity integer Tersedia untuk Bucket.Type.Activity_TYPE, Bucket.Type.Activity_NODE

Cobalah!

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