เมื่อใช้งานรายงาน คุณสามารถเริ่มคําขอที่โหลดแบบอะซิงโครนัสซึ่งใช้เวลานานเพื่อสร้างรายงานที่กําหนดเองของข้อมูลเหตุการณ์ 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ซึ่งอธิบายคําจํากัดความของรายงานที่กําหนดเอง โครงสร้างของพารามิเตอร์นี้คล้ายกับคําจํากัดความของรายงานที่ใช้โดยเมธอด Core Reporting
ตัวอย่างคำขอสร้างงานรายงาน
คำขอ 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"
}
}
ขั้นตอนถัดไป
- ลองใช้ Colab Notebook สำหรับงานรายงานแบบไม่พร้อมกันแบบอินเทอร์แอกทีฟเพื่อสร้าง ตรวจสอบ และค้นหางานรายงานแบบไม่พร้อมกันโดยใช้ไลบรารีของไคลเอ็นต์ Python
- ดูเอกสารอ้างอิง REST API ของ
properties.reportTasks - ดูข้อมูลเพิ่มเติมเกี่ยวกับโควต้าและขีดจํากัดของ Data API