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