ดังที่ได้กล่าวไว้ในคู่มือโครงสร้าง API ทรัพยากรระดับบนสุดแต่ละรายการใน Google Ads API มีบริการที่เฉพาะเจาะจงประเภททรัพยากรที่เกี่ยวข้องซึ่งรองรับการแก้ไขอินสแตนซ์ของทรัพยากร
คู่มือนี้จะใช้ CampaignService
เพื่อแสดงการแก้ไขออบเจ็กต์ Campaign
แต่แนวคิดเดียวกันนี้ใช้ได้กับบริการอื่นๆ ทั้งหมดที่เฉพาะเจาะจงประเภททรัพยากร
เปลี่ยนออบเจ็กต์
บริการเฉพาะประเภททรัพยากรแต่ละรายการจะมีเมธอด mutate ที่ยอมรับคำขอการเปลี่ยนแปลง คำขอนี้ประกอบด้วย
- A
customerId
- ชุดการดำเนินการ
- การตั้งค่าประเภทเนื้อหาของการตอบกลับที่กำหนดว่าจะส่งคืนทรัพยากรที่เปลี่ยนแปลงได้ หรือเฉพาะชื่อทรัพยากรหลังจากการเปลี่ยนแปลง
ตัวอย่างเช่น MutateCampaigns
เมธอดของ CampaignService
จะยอมรับ MutateCampaignsRequest
ซึ่งประกอบด้วย
รายการต่อไปนี้
- A
customerId
- คอลเล็กชันของออบเจ็กต์
CampaignOperation
- ฟิลด์
response_content_type
ที่ระบุประเภทคำตอบที่ต้องการ
การดำเนินการ
ออบเจ็กต์การดำเนินการ เช่น CampaignOperation
ช่วยให้คุณระบุการดำเนินการที่ต้องการทำกับทรัพยากรเดียวได้โดยการตั้งค่าฟิลด์ operation
ฟิลด์นี้เป็นฟิลด์ oneof
ซึ่งประกอบด้วยแอตทริบิวต์ต่อไปนี้ที่มีประเภทเป็นประเภททรัพยากร
create
- สร้างอินสแตนซ์ใหม่ของทรัพยากร
update
- อัปเดตทรัพยากรให้ตรงกับแอตทริบิวต์ของทรัพยากร
update
เมื่อตั้งค่าฟิลด์นี้ คุณต้องตั้งค่าupdate_mask
ของ การดำเนินการด้วย ซึ่งจะบอก Google Ads API ว่าจะแก้ไขแอตทริบิวต์ใดในระหว่าง การดำเนินการอัปเดต ไลบรารีของไคลเอ็นต์แต่ละรายการมี ยูทิลิตีหรือเมธอดตัวช่วยที่จะสร้างupdate_mask
ให้คุณ ดังที่แสดงในไลบรารีของไคลเอ็นต์ remove
- นำทรัพยากรออก
เนื่องจากฟิลด์ operation
เป็นฟิลด์ oneof
คุณจึงใช้การดำเนินการเดียวเพื่อแก้ไขออบเจ็กต์หลายรายการไม่ได้ เช่น หากต้องการสร้างแคมเปญหนึ่งและนำอีกแคมเปญหนึ่งออก ให้เพิ่มอินสแตนซ์ 2 รายการของ CampaignOperation
ลงในคำขอ โดยรายการหนึ่งมีการตั้งค่า create
และอีกรายการหนึ่งมีการตั้งค่า remove
การทำงานเป็นแบตช์
แม้ว่าการดำเนินการเดียวจะสร้าง อัปเดต หรือนำทรัพยากรเดียวออกได้เท่านั้น แต่คำขอเปลี่ยนแปลงเดียวอาจมีการดำเนินการหลายอย่าง คุณควร รวมการดำเนินการเป็นคำขอเปลี่ยนแปลงเดียวแทนที่จะส่งคำขอเปลี่ยนแปลงหลายรายการ ซึ่งแต่ละรายการมีการดำเนินการเดียว
เช่น หากต้องการสร้างแคมเปญ 10 รายการ คุณควรส่งรายการเดียว MutateCampaignsRequest
ที่มีออบเจ็กต์ CampaignOperation
10 รายการ
คำตอบที่เปลี่ยนแปลง
ข้อมูลที่แสดงในการตอบกลับจะขึ้นอยู่กับข้อมูลที่ส่งใน
response_content_type
ของคำขอเปลี่ยนแปลง เช่น หากระบุ MUTABLE_RESOURCE
ไว้ การตอบกลับจะมีเฉพาะฟิลด์ที่เปลี่ยนแปลงได้ในแคมเปญ จากนั้นคุณจะทำการเปลี่ยนแปลงเพิ่มเติมในออบเจ็กต์ทรัพยากรนั้นได้โดยไม่ต้องสร้างใหม่
ข้อผิดพลาดในการเปลี่ยนแปลง
การดำเนินการในคำขอเปลี่ยนแปลงที่ระบุจะใช้กับบัญชี Google Ads ก็ต่อเมื่อการดำเนินการทุกรายการในคำขอสำเร็จ ดูรายการข้อผิดพลาดที่พบบ่อยและวิธีแก้ไขได้ในคู่มือข้อผิดพลาดที่พบบ่อย