ดังที่ได้กล่าวไว้ในคู่มือโครงสร้าง 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 รายการ คุณควรส่งออบเจ็กต์ MutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperationMutateCampaignsRequestCampaignOperation�
คำตอบที่เปลี่ยนแปลง
ข้อมูลที่แสดงในการตอบกลับจะขึ้นอยู่กับข้อมูลที่ส่งใน
response_content_type
ของคำขอเปลี่ยนแปลง เช่น หากระบุ MUTABLE_RESOURCE ไว้ การตอบกลับจะมีเฉพาะฟิลด์ที่เปลี่ยนแปลงได้ในแคมเปญ จากนั้นคุณจะทำการเปลี่ยนแปลงติดตามในออบเจ็กต์ทรัพยากรนั้นได้โดยไม่ต้องสร้างใหม่
ข้อผิดพลาดในการเปลี่ยนแปลง
การดำเนินการในคำขอเปลี่ยนแปลงที่ระบุจะใช้กับบัญชี Google Ads ก็ต่อเมื่อการดำเนินการทุกรายการในคำขอสำเร็จ ดูรายการข้อผิดพลาดที่พบบ่อยและวิธีแก้ไขได้ในคู่มือข้อผิดพลาดที่พบบ่อย