เอนทิตี Google Ads ส่วนใหญ่แสดงเมธอด getId() ที่แสดงตัวระบุของเอนทิตี แม้ว่าในกรณีส่วนใหญ่จะไม่จำเป็นอย่างยิ่ง แต่รหัสอาจมีประโยชน์ในกรณีต่อไปนี้
- การทำงานกับรายงาน
- รหัสเป็นวิธีที่ดีในการลิงก์แถวรายงานกับเอนทิตี Google Ads จริง
- การรักษาการแมปกับ Datastore ภายนอก
- คุณอาจมีข้อมูลที่อิงตามรหัสจัดเก็บไว้ในฐานข้อมูลของคุณเองอยู่แล้ว
- การค้นหาการเพิ่มประสิทธิภาพเล็กน้อย
การดึงข้อมูลตามรหัสมักจะเร็วกว่าวิธีอื่นๆ โค้ดสำหรับการดึงข้อมูลเอนทิตีเดียวก็ง่ายกว่าเล็กน้อยด้วย
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
ความเป็นเอกลักษณ์
รหัสแคมเปญและรหัสกลุ่มโฆษณามีความเป็นเอกลักษณ์ โดยไม่มีแคมเปญหรือกลุ่มโฆษณา 2 รายการใดๆ ที่ใช้รหัสเดียวกัน อย่างไรก็ตาม โฆษณาและคีย์เวิร์ดมีรหัสแบบผสม ซึ่งตัวระบุที่ไม่ซ้ำกันของคีย์เวิร์ดคือการรวมกันของรหัสกลุ่มโฆษณาและรหัสคีย์เวิร์ด
ในทำนองเดียวกัน ตัวระบุที่ไม่ซ้ำกันของโฆษณาคือการรวมกันของรหัสกลุ่มโฆษณาและรหัสโฆษณา ซึ่งส่งผลต่อวิธีเรียก selector.withIds()
สำหรับแคมเปญและกลุ่มโฆษณา selector.withIds() คาดหวังอาร์เรย์ของตัวเลข
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
อย่างไรก็ตาม สำหรับโฆษณาและคีย์เวิร์ด selector.withIds() ต้องใช้อาร์เรย์ของอาร์เรย์ที่มี 2 องค์ประกอบ โดยองค์ประกอบแรกคือรหัสกลุ่มโฆษณา ข้อมูลโค้ดต่อไปนี้จะดึงข้อมูลคีย์เวิร์ด 3 รายการจากกลุ่มโฆษณา
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
โครงสร้างเดียวกันนี้ใช้เมื่อดึงข้อมูลโฆษณา
รหัสชั่วคราว
เมื่อทำงานกับคำขอเปลี่ยนแปลงข้อมูลในเซิร์ฟเวอร์ ที่มีการดำเนินการหลายรายการ คุณจะต้องใช้ รหัสชั่วคราวเพื่อลิงก์ ทรัพยากรเข้าด้วยกันในบางครั้ง เนื่องจากชื่อทรัพยากรแบบเต็มจะใช้ได้ก็ต่อเมื่อ คุณได้รับการตอบกลับจาก API รหัสชั่วคราวต้องเป็นตัวเลขติดลบที่เริ่มต้นด้วย -1 และต้องไม่ซ้ำกันภายในคำขอเปลี่ยนแปลงเดียวกัน หากต้องการใช้รหัสชั่วคราวอย่างมีประสิทธิภาพ คุณจะต้องเขียนโค้ดบางส่วนเพื่อให้แน่ใจว่าคุณจะไม่สร้างรหัสชั่วคราวที่ซ้ำกัน
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
การเรียก getNextTempId แต่ละครั้งจะแสดงตัวเลขที่น้อยกว่าการเรียกครั้งก่อน 1 เนื่องจากรหัสชั่วคราวทั้งหมดต้องเป็นตัวเลขติดลบ ให้เริ่มต้นที่ -1
ระบบจะไม่จดจำรหัสชั่วคราวในงานหรือคำขอเปลี่ยนแปลงข้อมูลในเซิร์ฟเวอร์ หากต้องการอ้างอิงทรัพยากรที่สร้างขึ้นในคำขอเปลี่ยนแปลงข้อมูลในเซิร์ฟเวอร์ก่อนหน้า ให้ใช้ชื่อทรัพยากรจริง