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: | |
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:
|
|
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:
|
|
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.