Google Ads API มีกลไกการรายงานการดึงข้อมูลแอตทริบิวต์และเมตริกแบบรวมที่ช่วยให้คุณสร้างคำค้นหาโดยใช้ภาษาคำค้นหาของ Google Ads ได้ วิธีนี้ทำให้ใช้การค้นหาที่ซับซ้อนซึ่งแสดงผลข้อมูลจำนวนมากเกี่ยวกับบัญชี Google Ads แต่ละบัญชีได้
คุณจะสร้างการค้นหาโดยใช้เมธอด Search
หรือ SearchStream
ก็ได้
ทั้ง 2 วิธีรองรับคำค้นหาเดียวกันและแสดงผลลัพธ์ที่เทียบเท่ากัน เมธอด Search
จะแสดงผลข้อมูลในขนาดหน้าเว็บที่ปรับแต่งได้ ซึ่งช่วยให้คุณทำซ้ำตามชุดผลลัพธ์โดยใช้การใส่เลขหน้า การทำเช่นนี้อาจเป็นประโยชน์ในกรณีของแบนด์วิดท์ต่ำหรือสภาพเครือข่ายที่ไม่น่าเชื่อถือ ตัวอย่างเช่น ในการแบ่งกลุ่มผลลัพธ์ขนาดใหญ่ให้อยู่ในรูปแบบการตอบสนองที่น้อยลงซึ่งสามารถดึงข้อมูลใหม่ได้หากการเชื่อมต่อขาดหาย ในทางตรงกันข้าม เมธอด SearchStream
จะสตรีมผลลัพธ์ทั้งชุดกลับมาเป็นการตอบกลับครั้งเดียวซึ่งจะทำให้การดึงข้อมูลจำนวนมากมีประสิทธิภาพมากขึ้น
ทั้ง Search
และ SearchStream
ใช้ URL พื้นฐานเดียวกัน ดังนี้
https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/googleAds
วิธีการค้นหาตามหน้าเว็บจะใช้พารามิเตอร์ pageSize
ที่ไม่บังคับ ซึ่งจะจำกัดจำนวนผลลัพธ์ที่จะแสดงในการตอบกลับ API เดียว
POST /v16/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "pageSize": 10000, "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
หากมีแถวในผลลัพธ์มากกว่า pageSize
ระบบจะแสดงผล nextPageToken
ในคำตอบ
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
การทำซ้ำคำค้นหาเดียวกันที่มี pageToken
เพิ่มเข้ามาด้วยค่าข้างต้นจะดึงผลลัพธ์หน้าถัดไป
POST /v16/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "pageSize": 10000, "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'", "pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B" }
หากต้องการใช้เมธอด SearchStream
ซึ่งจะแสดงผลลัพธ์ทั้งหมดในการตอบสนองแบบสตรีมครั้งเดียว เพียงเปลี่ยนวิธีบริการใน URL เป็น searchStream
(SearchStream
ไม่จำเป็นต้องใช้ pageSize
และ pageToken
) ดังนี้
POST /v16/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }