แชร์ผ่าน


ตัวอย่างสคริปต์สําหรับการจัดการป้ายชื่อ

ส่วนต่อไปนี้แสดงตัวอย่างของสคริปต์ที่ดําเนินการต่าง ๆ กับป้ายชื่อ

เพิ่มป้ายชื่อไปยังบัญชี

หากต้องการใช้ป้ายชื่อ ก่อนอื่นให้เพิ่มป้ายชื่อลงในบัญชีของคุณ คุณสามารถเพิ่มป้ายชื่อได้สูงสุด 100,000 ป้ายให้กับบัญชีหนึ่ง ๆ หากต้องการเพิ่มป้ายชื่อ ให้ใช้เมธอด createLabel วิธีการ ใช้เป็นข้อมูลป้อนเข้าชื่อ คําอธิบาย และสีพื้นหลังของป้ายชื่อ

คุณต้องใส่ชื่อ แต่ไม่จําเป็นต้องใส่คําอธิบายและสี ชื่อต้องตรงตามตัวพิมพ์ใหญ่-เล็ก ไม่เกิน 80 อักขระ และต้องไม่ซ้ํากันภายในบัญชีผู้ใช้ แม้ว่าสีจะเป็นตัวเลือก ถ้าคุณไม่ได้ระบุ บริการจะเลือกสีแบบสุ่มสําหรับคุณ คุณสามารถระบุสีโดยใช้เลขฐานสิบหกสามไบต์ในรูปแบบ #RRGGBB (ตัวอย่างเช่น CB0400) หรือหนึ่งใน 16 ชื่อสีที่รู้จัก เช่น สีแดง สีเหลือง และสีฟ้าน้ําทะเล ถ้าคุณระบุสี คุณต้องระบุคําอธิบาย แต่อาจเป็นสตริงว่าง

ตัวอย่างต่อไปนี้ แสดงสามวิธีในการ createLabel เรียกใช้วิธีการ

function main() {

    AdsApp.createLabel("foo");
    AdsApp.createLabel("bar", "a descriptive description", "aqua");
    AdsApp.createLabel("foo foo", "", "#FF0000");

}

ใส่ป้ายชื่อของบัญชีผู้ใช้

หากต้องการรับรายการป้ายชื่อในบัญชี ให้ใช้วิธีการป้ายชื่อ คุณสามารถกรองรายการตามชื่อของป้ายชื่อโดยใช้ตัวดําเนินการสตริงมาตรฐาน เช่น =, CONTAINS และ STARTS_WITH

function main() {

    // Gets all the labels in the account
    var accountLabels = AdsApp.labels()
        .get();  
    
    Logger.log(`selector returned ${accountLabels.totalNumEntities()} labels that matched the selector's conditions`);

    // Gets all the labels in the account that contain foo in the name
    accountLabels = AdsApp.labels()
        .withCondition("Name CONTAINS 'foo'")
        .get();
    
    Logger.log(`selector returned ${accountLabels.totalNumEntities()} labels that matched the selector's conditions`);

    // Gets the first 15 labels in the account
    accountLabels = AdsApp.labels()
        .withLimit(15)
        .get();
    
    Logger.log(`selector returned ${accountLabels.totalNumEntities()} labels that matched the selector's conditions`);

    // Gets the first 15 labels in the account that contain foo in the name
    accountLabels = AdsApp.labels()
        .withCondition("Name CONTAINS 'foo'")
        .withLimit(15)
        .get();

    Logger.log(`selector returned ${accountLabels.totalNumEntities()} labels that matched the selector's conditions`);

    while (accountLabels.hasNext()){
        var label = accountLabels.next();
    }

}

นําป้ายชื่อไปใช้กับคําสําคัญ

ป้ายชื่อจะมีประโยชน์เฉพาะเมื่อคุณนําไปใช้กับเอนทิตี เช่น คําสําคัญ หากต้องการใช้ป้ายชื่อกับคําสําคัญ ให้ใช้วิธีการ applyLabel ของคําสําคัญ คุณสามารถใช้ป้ายชื่อได้สูงสุด 50 ป้ายกับคําสําคัญ วิธีการ ใช้เป็นข้อมูลป้อนเข้าชื่อของป้ายชื่อ ชื่อของป้ายชื่อต้องตรงตามตัวพิมพ์ใหญ่-เล็ก ต้องมีอยู่ในบัญชี และต้องไม่ซ้ํากันภายในคําสําคัญ

ตัวอย่างต่อไปนี้แสดงวิธีการเพิ่มป้ายชื่อไปยังคําสําคัญ แสดงรายการป้ายชื่อของคําสําคัญ และลบป้ายชื่อออกจากคําสําคัญ

function main() {

    // Get a keyword to add labels to
    var keyword = AdsApp.keywords().withIds(["12345"]).get().next();

    // Print the keyword's existing labels
    var labels = keyword.labels().get();
    printLabels(labels);

    // Add labels to the keyword
    keyword.applyLabel("foo");
    keyword.applyLabel("foo foo");
    keyword.applyLabel("bar");

    // Print the new list of labels
    labels = keyword.labels().get();
    printLabels(labels);

    // Remove labels from the keyword
    keyword.removeLabel("foo");
    keyword.removeLabel("bar");

    // Print the new list of labels
    labels = keyword.labels().get();
    printLabels(labels);

}

function printLabels(labels) {
    Logger.log(`keyword has ${labels.totalNumEntities()} labels`);
    
    while (labels.hasNext()){
        var label = labels.next();

        Logger.log(`name: ${label.getName()}
            description: ${label.getDescription()}
            color: ${label.getColor()}\n\n`);
    }
}

รับคําสําคัญที่มีป้ายชื่อที่ระบุ

เมื่อต้องการรับคําสําคัญที่มีชื่อป้ายชื่อเฉพาะ ให้ใช้เมธอด withCondition() ของวัตถุ KeywordSelector ใช้ชื่อคอลัมน์ LabelNames เพื่อกรองตามชื่อป้ายชื่อ คุณสามารถระบุอาร์เรย์ของชื่ออย่างน้อยหนึ่งชื่อ ชื่อต้องตรงตามตัวพิมพ์ใหญ่-เล็ก และต้องมีอยู่ในบัญชี คุณอาจใช้ตัวดําเนินการต่อไปนี้:

  • CONTAINS_ALL — เลือกคําสําคัญถ้าคําสําคัญนั้นประกอบด้วยป้ายชื่อที่ระบุทั้งหมด
  • CONTAINS_ANY — เลือกคําสําคัญถ้ามีป้ายชื่อที่ระบุ
  • CONTAINS_NONE — เลือกคําสําคัญถ้าคําสําคัญนั้นไม่มีป้ายชื่อที่ระบุ

โปรดทราบว่าถ้าป้ายชื่อไม่มีอยู่ในบัญชี ตัวเลือกจะล้มเหลวและส่งกลับข้อผิดพลาด

function main() {

    var keywords = AdsApp.keywords()
        .withCondition('LabelNames CONTAINS_ANY ["foo", "bar"]')
        .get();
    
    while (keywords.hasNext()){
        var keyword = keywords.next();

        var labels = keyword.labels().get();

        while (labels.hasNext()) {
            var label = labels.next();
        }
    }

}