Aracılığıyla paylaş


Etiketleri yönetmek için betik örnekleri

Aşağıdaki bölümlerde etiketlere karşı çeşitli eylemler gerçekleştiren betik örnekleri gösterilir.

Hesaba etiket ekleme

Etiketleri kullanmak için önce bunları hesabınıza ekleyin. Hesaba en fazla 100.000 etiket ekleyebilirsiniz. Etiket eklemek için createLabel yöntemini kullanın. yöntemi etiketin adını, açıklamasını ve arka plan rengini girdi olarak alır.

Ad gereklidir, ancak açıklama ve renk isteğe bağlıdır. Ad büyük/küçük harfe duyarlıdır, 80 karakteri aşamaz ve hesap içinde benzersiz olmalıdır. Renk isteğe bağlı olsa da, belirtmezseniz hizmet sizin için rastgele bir renk seçer. Rengi, form #RRGGBB (örneğin, CB0400) veya kırmızı, sarı ve su gibi bilinen 16 renk adlarından birini kullanarak üç baytlık onaltılık bir sayı kullanarak belirtebilirsiniz. Bir renk belirtirseniz, bir açıklama belirtmeniz gerekir, ancak boş bir dize olabilir.

Aşağıdaki örnekte yöntemini çağırmanın üç yolu gösterilmektedir createLabel .

function main() {

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

}

Hesabın etiketlerini listeleme

Hesaptaki etiketlerin listesini almak için etiketler yöntemini kullanın. =, CONTAINS ve STARTS_WITH gibi standart dize işleçlerini kullanarak listeyi etiketin adına göre filtreleyebilirsiniz.

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();
    }

}

Anahtar sözcüklere etiket uygulama

Etiketler yalnızca bunları anahtar sözcükler gibi varlıklara uyguladığınızda yararlıdır. Bir anahtar kelimeye etiket uygulamak için anahtar sözcüğün applyLabel yöntemini kullanın. Bir anahtar sözcük için en fazla 50 etiket uygulayabilirsiniz. yöntemi etiketin adını girdi olarak alır. Etiketin adı büyük/küçük harfe duyarlıdır, hesapta bulunmalıdır ve anahtar sözcük içinde benzersiz olmalıdır.

Aşağıdaki örnekte anahtar sözcüklere etiket ekleme, anahtar sözcüğün etiketlerini listeleme ve anahtar sözcükten etiketleri kaldırma gösterilmektedir.

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`);
    }
}

Belirtilen etiketlerden herhangi birini içeren anahtar sözcükleri alma

Belirli etiket adlarını içeren anahtar sözcükleri almak için KeywordSelector nesnesinin withCondition() yöntemini kullanın. Etiket adlarına göre filtrelemek için LabelNames sütun adını kullanın. Bir veya daha fazla addan oluşan bir dizi belirtebilirsiniz. Adlar büyük/küçük harfe duyarlıdır, tam olarak eşleşmelidir ve hesapta bulunmalıdır. Aşağıdaki işleçleri uygulayabilirsiniz:

  • CONTAINS_ALL — belirtilen etiketlerin tümünü içeriyorsa anahtar sözcüğü seçer
  • CONTAINS_ANY — belirtilen etiketlerden herhangi birini içeriyorsa anahtar sözcüğü seçer
  • CONTAINS_NONE — belirtilen etiketlerden hiçbirini içermiyorsa anahtar sözcüğü seçer

Etiket hesapta yoksa seçicinin başarısız olduğunu ve bir hata döndürdüğünü unutmayın.

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();
        }
    }

}