เมื่อใช้งานรายงาน คุณจะสามารถเริ่มคำขอที่ไม่พร้อมกันซึ่งทำงานเป็นเวลานานเพื่อสร้าง รายงานที่กำหนดเองของข้อมูลเหตุการณ์ Google Analytics
ทรัพยากรของงานของรายงานที่สร้างจากคำขอนี้สามารถใช้เพื่อเข้าถึง รายงานที่กำหนดเองโดยผู้ใช้ทั้งหมดที่มีสิทธิ์อ่าน Google Analytics ของคุณ
รายงานที่กำหนดเองจะใช้ได้เป็นเวลา 72 ชั่วโมงหลังจากพร้อม หลังจากนี้ ทรัพยากรงานรายงานที่เกี่ยวข้องและเนื้อหาจะ โดยอัตโนมัติ
สร้างงานรายงาน
Google Analytics Data API v1 ใช้วิธีการที่ไม่พร้อมกันในการ
สร้างงานรายงาน อย่างแรก คำขอไปยัง
reportTasks.create
ในการสร้างงานรายงาน จากนั้น
reportTasks.query
ใช้เพื่อเรียกข้อมูลรายงานที่กำหนดเองที่สร้างขึ้น
นอกจากนี้ คุณยังสามารถใช้
reportTasks.get
เพื่อดึงข้อมูลเมตาการกำหนดค่าเกี่ยวกับงานรายงานที่เจาะจงและ
reportTasks.list
เพื่อแสดงรายการงานรายงานทั้งหมดสำหรับพร็อพเพอร์ตี้
เลือกเอนทิตีการรายงาน
เมธอดทั้งหมดของ Data API v1 ต้องมีฟังก์ชัน
ตัวระบุพร็อพเพอร์ตี้ Google Analytics
ภายในเส้นทางคำขอ URL ในรูปแบบ
properties/GA_PROPERTY_ID
เช่น
POST https://analyticsdata.googleapis.com/v1alpha/properties/GA_PROPERTY_ID/reportTasks
รายงานสร้างขึ้นจากเหตุการณ์ Google Analytics ที่เก็บรวบรวมในพร็อพเพอร์ตี้ Google Analytics ที่ระบุ
หากคุณใช้ไลบรารีของไคลเอ็นต์ Data API รายการใดรายการหนึ่ง
คุณไม่จำเป็นต้องเปลี่ยนแปลงเส้นทาง URL คำขอด้วยตนเอง
ไคลเอ็นต์ API ส่วนใหญ่จะมีพารามิเตอร์ property
ซึ่งคาดหวัง
ในรูปแบบของ properties/GA_PROPERTY_ID
โปรดดูตัวอย่างในคู่มือเริ่มใช้งานฉบับย่อ
ของการใช้ไลบรารีไคลเอ็นต์
ขอให้สร้างงานรายงาน
หากต้องการสร้างงานรายงาน ให้เรียกเมธอด
reportTasks.create
โดยใช้เมธอด
ReportTask
ในคำขอ ต้องมีพารามิเตอร์ต่อไปนี้
reportDefinition
ซึ่งอธิบายคำจำกัดความของรายงานที่กำหนดเอง ของพารามิเตอร์นี้ คล้ายกับคำจำกัดความของรายงานที่ใช้โดยวิธีการรายงานหลัก
ตัวอย่างคำขอสร้างงานรายงาน
คำขอ 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" }]
}
}
การตอบกลับของเมธอด reportTasks.create
จะมีรายงาน
ชื่องานในช่อง name
(เช่น
properties/1234567/reportTasks/123
) ซึ่งใช้ได้ใน
การค้นหาลำดับต่อมาเพื่อรับสถานะของงานรายงานและเรียกข้อมูล
ที่ได้รายงานมา
การตอบสนองของ 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"
}
}
}
รับสถานะความพร้อมของงานในรายงาน
อาจใช้เวลาหลายนาทีในการสร้างรายงานหลังจาก
reportTasks.create
การโทร คุณสามารถดูสถานะความพร้อมสำหรับงานรายงานได้โดยการเรียกใช้
reportTasks.get
ใช้ชื่องานรายงาน (เช่น properties/1234567/reportTasks/123
)
ที่คุณได้รับจากการตอบกลับ reportTasks.create
เพื่อระบุ
รายงานงาน
ตัวอย่าง
คำขอ HTTP
GET https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123
ระบบจะแสดงผลสถานะความพร้อมสำหรับงานรายงานใน
state
ช่องคำตอบได้อีกด้วย เมื่อสร้างรายงานเสร็จแล้ว
สถานะของงานรายงานเปลี่ยนจาก CREATING
เป็น ACTIVE
reportMetadata
จะมีข้อมูลระดับสูงเกี่ยวกับรายงานที่สร้างขึ้น เช่น
จำนวนแถวและจำนวนโทเค็นโควต้าที่เรียกเก็บ
การตอบสนองของ 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
}
}
คุณสามารถดูสถานะของงานรายงานทั้งหมดได้โดยเรียกใช้
reportTasks.list
ดึงข้อมูลรายงานที่สร้างขึ้น
เมื่อสร้างงานรายงานโดยใช้
reportTasks.create
ให้เรียกเมธอด
reportTasks.query
และระบุชื่องานรายงาน
(เช่น properties/1234567/reportTasks/123
)
คำขอ HTTP
POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123:query
หากงานรายงานพร้อมแล้ว ระบบจะแสดงผลการตอบกลับที่มีรายงานที่สร้างขึ้น ดังนี้
การตอบสนองของ HTTP
{
"dimensionHeaders": [
{
"name": "country"
}
],
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
...
],
"rowCount": 167,
"metadata": {
"currencyCode": "USD",
"timeZone": "America/Los_Angeles"
}
}