Dengan menggunakan tugas laporan, Anda dapat memulai permintaan asinkron yang berjalan lama untuk membuat laporan kustom untuk data peristiwa Google Analytics.
Resource Report Task yang dihasilkan dari permintaan ini dapat digunakan untuk mengakses laporan yang disesuaikan oleh semua pengguna yang memiliki akses baca ke Google Analytics Anda saat ini.
Laporan yang disesuaikan akan tersedia selama 72 jam setelah laporan siap. Setelahnya sumber daya tugas laporan yang sesuai dan isinya akan dihapus secara otomatis.
Membuat Tugas Laporan
Google Analytics Data API v1 menggunakan pendekatan asinkron untuk
membuat Tugas Laporan. Pertama, permintaan ke
reportTasks.create
diperlukan untuk membuat Tugas Laporan. Lalu,
reportTasks.query
digunakan untuk mengambil laporan kustom yang dihasilkan.
Selain itu, Anda dapat menggunakan
reportTasks.get
untuk mengambil metadata konfigurasi
tentang Tugas Laporan tertentu dan
reportTasks.list
untuk mencantumkan semua Tugas Laporan
untuk sebuah properti.
Pilih entitas pelaporan
Semua metode Data API v1 memerlukan
ID properti Google Analytics
ditentukan di dalam jalur permintaan URL dalam bentuk
properties/GA_PROPERTY_ID
, seperti:
POST https://analyticsdata.googleapis.com/v1alpha/properties/GA_PROPERTY_ID/reportTasks
Laporan dibuat berdasarkan peristiwa Google Analytics data yang dikumpulkan di properti Google Analytics yang ditentukan.
Jika Anda menggunakan salah satu library klien Data API,
tidak perlu memanipulasi jalur URL permintaan secara manual.
Sebagian besar klien API menyediakan parameter property
yang mengharapkan
string dalam bentuk properties/GA_PROPERTY_ID
.
Lihat Panduan memulai cepat untuk mengetahui contohnya
penggunaan library klien.
Meminta pembuatan Tugas Laporan
Untuk membuat Tugas Laporan, panggil metode
reportTasks.create
menggunakan atribut
ReportTask
objek dalam permintaan. Parameter berikut wajib diisi:
reportDefinition
yang menjelaskan definisi laporan kustom. Parameter serupa dengan definisi laporan yang digunakan oleh metode Pelaporan Inti.
Contoh permintaan pembuatan Tugas Laporan:
Permintaan HTTP
POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks
{
"reportDefinition": {
"dateRanges": [{ "startDate": "2024-05-01"", "endDate": "2024-05-15" }],
"dimensions": [{ "name": "country" }],
"metrics": [{ "name": "activeUsers" }]
}
}
Respons metode reportTasks.create
berisi Laporan
Nama tugas di kolom name
(seperti
properties/1234567/reportTasks/123
), yang dapat digunakan di
kueri berikutnya untuk mendapatkan status Tugas Laporan dan mengambil
hasil laporan.
Respons HTTP
{
"response": {
"@type": "type.googleapis.com/google.analytics.data.v1alpha.ReportTask",
"name": "properties/1234567/reportTasks/123",
"reportDefinition": {
"dimensions": [
{
"name": "country"
}
],
"metrics": [
{
"name": "activeUsers"
}
],
"dateRanges": [
{
"startDate": "2024-05-01",
"endDate": "2024-05-15"
}
]
},
"reportMetadata": {
"state": "CREATING",
"beginCreatingTime": "2024-05-16T00:00:01.133612336Z"
}
}
}
Mendapatkan status kesiapan Tugas Laporan
Mungkin perlu waktu beberapa menit untuk membuat laporan setelah
reportTasks.create
panggilan telepon. Anda bisa mendapatkan status kesiapan untuk Tugas Laporan dengan memanggil metode
reportTasks.get
.
Gunakan nama Report Task (seperti properties/1234567/reportTasks/123
)
yang Anda terima dari respons reportTasks.create
untuk menentukan
Laporkan Tugas.
Contoh:
Permintaan HTTP
GET https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123
Status kesiapan untuk Tugas Laporan ditampilkan dalam
state
kolom respons. Setelah pembuatan laporan selesai,
status Report Task berubah dari CREATING
menjadi ACTIVE
.
reportMetadata
berisi informasi tingkat tinggi tentang laporan yang dihasilkan, seperti
jumlah baris dan jumlah token kuota yang dibebankan.
Respons HTTP
{
"reportDefinition": {
"dimensions": [
{
"name": "country"
}
],
"metrics": [
{
"name": "activeUsers"
}
],
"dateRanges": [
{
"startDate": "2024-05-01",
"endDate": "2024-05-15"
}
]
},
"reportMetadata": {
"state": "ACTIVE",
"beginCreatingTime": "2024-05-16T00:00:01.133612336Z",
"creationQuotaTokensCharged": 6,
"taskRowCount": 167,
"errorMessage": "",
"totalRowCount": 167
}
}
Anda bisa mendapatkan status semua Tugas Laporan dengan memanggil
reportTasks.list
.
Mengambil laporan yang dihasilkan
Setelah Tugas Laporan dibuat menggunakan
reportTasks.create
akan dibuat, panggil metode
reportTasks.query
dan menetapkan nama Report Task
(misalnya properties/1234567/reportTasks/123
).
Permintaan HTTP
POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123:query
Jika Tugas Laporan sudah siap, respons yang berisi laporan yang dihasilkan akan ditampilkan:
Respons HTTP
{
"dimensionHeaders": [
{
"name": "country"
}
],
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
...
],
"rowCount": 167,
"metadata": {
"currencyCode": "USD",
"timeZone": "America/Los_Angeles"
}
}