เปลี่ยนวัตถุ

ดังที่ได้กล่าวไว้ในคู่มือโครงสร้าง 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 ก็ต่อเมื่อการดำเนินการทุกรายการในคำขอสำเร็จ ดูรายการข้อผิดพลาดที่พบบ่อยและวิธีแก้ไขได้ในคู่มือข้อผิดพลาดที่พบบ่อย