เมธอด reportData.query เป็นวิธีแบบซิงโครนัส
ในการดึงข้อมูลรายงาน ซึ่งแตกต่างจากบริการ Reports
มาตรฐานที่สร้างรายงานแบบไฟล์ (CSV หรือ Excel) โดยเมธอดนี้จะแสดงผลข้อมูล JSON ที่มีโครงสร้างในคำตอบโดยตรง จึงไม่จำเป็นต้องกำหนด สร้าง และบันทึกทรัพยากร Report ไว้ล่วงหน้า ทำให้เหมาะสำหรับการดึงข้อมูลและการสำรวจข้อมูลแบบเรียลไทม์
ภาพรวม
อ่านคำแนะนำนี้เพื่อทำความคุ้นเคยกับการใช้ปลายทางนี้เพื่อค้นหาข้อมูลการรายงานของ Campaign Manager 360
เตรียมคำขอ
สร้าง ReportDataQueryRequest
โดยระบุเมตริก มิติข้อมูล ช่วงวันที่ ตัวกรอง และเกณฑ์การจัดเรียง
REST
{
"body": {
"dateRange": "LAST_7_DAYS",
"dimensionNames": [
"advertiser",
"campaign"
],
"metricNames": [
"impressions",
"clicks"
],
"sortBys": [
{
"name": "clicks",
"sortOrder": "DESCENDING"
}
],
"maxResults": 100
}
}
dateRange- ออบเจ็กต์
DateRangeที่ระบุช่วงเวลาสำหรับการ ค้นหา ซึ่งอาจเป็นช่วงวันที่ที่กำหนดเองหรือช่วงวันที่สัมพัทธ์ dimensionNames- รายการชื่อมิติข้อมูลมาตรฐานที่จะจัดกลุ่มตาม
metricNames- ต้องระบุ รายการชื่อเมตริกมาตรฐานที่จะรวม
dimensionFilters- รายการออบเจ็กต์ DimensionValue ที่ใช้กรอง ข้อมูลรายงาน ใช้ตัวกรองนี้เพื่อจำกัดผลการค้นหาให้แสดงเฉพาะค่าที่ต้องการของมิติข้อมูล
sortBys- การกำหนดค่าการจัดเรียงสำหรับมิติข้อมูลหรือเมตริก การกำหนดค่าแต่ละรายการจะมีชื่อฟิลด์และลำดับการจัดเรียง
maxResults- จำนวนแถวสูงสุดที่จะแสดงผลต่อหน้า (ค่าเริ่มต้น:
100, สูงสุด:1000)
การใส่เลขหน้า
ฟิลด์ maxResults จะควบคุมจำนวนผลลัพธ์ที่แสดงผลในการตอบกลับครั้งเดียว เช่น หากคุณตั้งค่า maxResults เป็น 10 API จะแสดงผลลัพธ์ไม่เกิน 10 รายการ API อาจแสดงผลลัพธ์น้อยกว่า 10 รายการหากมีผลลัพธ์ที่ตรงกับคำขอของคุณน้อยกว่า 10 รายการ
หากมีผลลัพธ์เพิ่มเติม การตอบกลับจะมี nextPageToken หากต้องการดึงผลลัพธ์หน้าถัดไป ให้ส่งคำขอเดิมอีกครั้งโดยตั้งค่าฟิลด์ pageToken เป็นโทเค็นนี้ และเก็บพารามิเตอร์คำขออื่นๆ ไว้เหมือนเดิม
ส่งคำขอ
ส่งคำขอ HTTP POST ไปยังreportdata/query
ปลายทางดังนี้
POST https://dfareporting.googleapis.com/dfareporting/v5/userprofiles/{profileId}/reportdata/query
ตรวจสอบว่าคำขอของคุณได้รับการตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบ OAuth 2.0 มาตรฐานและขอบเขตที่จำเป็น ดูข้อมูลเพิ่มเติมได้ที่ให้สิทธิ์คำขอสำหรับ ข้อมูล
การตอบกลับที่สำเร็จ
การค้นหาที่สำเร็จจะแสดงผลการตอบกลับ HTTP 200 OK พร้อมเพย์โหลด JSON ที่มี columnHeaders, rows และ totalRow
{
"columnHeaders": [
{ "name": "advertiser", "type": "DIMENSION" },
{ "name": "campaign", "type": "DIMENSION" },
{ "name": "impressions", "type": "METRIC" },
{ "name": "clicks", "type": "METRIC" }
],
"rows": [
{
"values": [ "Test Advertiser", "Summer Campaign", "148672", "420" ]
},
{
"values": [ "Test Advertiser", "Fall Campaign", "2159", "2" ]
}
],
"totalRow": {
"values": [ "", "", "150831", "422" ]
},
"nextPageToken": "1234567890"
}
columnHeaders- ชื่อและประเภท (
DIMENSIONหรือMETRIC) ของฟิลด์ที่แสดงผล rows- รายการออบเจ็กต์
ReportDataRowที่มี ผลการค้นหา ค่าสตริงในแต่ละแถวจะตรงกับcolumnHeadersตามตำแหน่ง totalRow- แถวรวมแถวเดียวที่แสดงผลรวมของเมตริกที่ตรงกันทั้งหมด ฟิลด์มิติข้อมูลและเมตริกที่รวมไม่ได้ (เช่น
เมตริกการเข้าถึง เช่น
uniqueReachTotalReach) จะว่าง ("") ในแถวนี้ nextPageToken- โทเค็นที่ใช้ในคำขอที่ตามมาเพื่อดึงข้อมูลหน้าถัดไปหากมีแถวเพิ่มเติม
เวลาในการตอบสนองและระยะหมดเวลา
เนื่องจากเป็นปลายทางแบบซิงโครนัส การค้นหาจะดำเนินการทันทีและระบบจะแสดงผลข้อมูลในการตอบกลับโดยตรง (สูงสุดตามขีดจำกัดการใส่เลขหน้า maxResults)
การค้นหามีเวลาดำเนินการสูงสุด 60 วินาที หากการค้นหาเกินขีดจำกัดนี้
API จะยกเลิกการดำเนินการและแสดงข้อผิดพลาด HTTP 503 Service
Unavailable
หากพบข้อผิดพลาดนี้ ให้ลองจำกัดช่วงวันที่ให้แคบลง จำกัดตัวกรองให้แคบลง (เช่น กรองตามผู้ลงโฆษณาหรือแคมเปญที่เฉพาะเจาะจง) หรือลดจำนวนมิติข้อมูลและเมตริกที่ขอ หรือเรียกใช้ Report
โดยใช้ reports.run เพื่อสร้างไฟล์รายงานที่ดาวน์โหลดได้แบบไม่พร้อมกัน
ขีดจำกัดและข้อจำกัดของการค้นหา
ปลายทาง reportdata.query มีขีดจำกัดหลายอย่าง
เพื่อให้มั่นใจว่าการตอบกลับจะเชื่อถือได้ ระบบจะปฏิเสธคำขอที่ละเมิดข้อจำกัดเหล่านี้ด้วยการตอบกลับ HTTP 400 Bad Request
ขีดจำกัดช่วงวันที่
- สำหรับช่วงวันที่ที่กำหนดเอง
startDateต้องอยู่ในช่วงเวลาที่ข้อมูลพร้อมใช้งานสำหรับประเภทข้อมูลรายงานที่ขอ ดูรายละเอียดได้ที่ ความพร้อมใช้งานของข้อมูล
ข้อจำกัดของเมตริกและมิติข้อมูล
- ต้องระบุเมตริกอย่างน้อย 1 รายการใน
metricNames - เมตริกและมิติข้อมูลในรายการ
metricNamesและdimensionNamesต้องไม่ซ้ำกัน - คุณไม่สามารถใช้เมตริกและมิติข้อมูลที่มีป้ายกำกับว่า ดาวน์โหลดเท่านั้น ใน การค้นหาเหล่านี้
ขีดจำกัดโควต้า
คำขอที่ส่งไปยังปลายทางนี้จะใช้โควต้าต่อไปนี้
- ขีดจำกัดอัตราการส่งคำขอของผู้ใช้: 120 คำขอต่อนาทีต่อผู้ใช้ (2 QPS)
- ขีดจำกัดรายวันต่อโปรเจ็กต์: 10,000 คำขอต่อวันต่อโปรเจ็กต์
คำขอที่เกินขีดจำกัดเหล่านี้จะล้มเหลวและแสดงข้อผิดพลาด HTTP 429 Too Many Requests หากคุณเลื่อนดูผลลัพธ์ คำขอแต่ละรายการสำหรับหน้าใหม่ (โดยใช้พารามิเตอร์ pageToken) จะนับเป็นการค้นหาแยกต่างหากและใช้โควต้านี้