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

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

เพิ่มป้ายชื่อให้กับบัญชีผู้ใช้

เมื่อต้องการใช้ป้ายชื่อ ให้เพิ่มป้ายชื่อลงในบัญชีของคุณก่อน คุณสามารถเพิ่มป้ายชื่อได้สูงสุด 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();
        }
    }

}