Freigeben über


Skriptbeispiele für die Verwaltung von Bezeichnungen

Die folgenden Abschnitte zeigen Beispiele für Skripts, die verschiedene Aktionen für Bezeichnungen ausführen.

Hinzufügen von Bezeichnungen zu einem Konto

Um Bezeichnungen zu verwenden, fügen Sie diese zunächst Ihrem Konto hinzu. Sie können einem Konto maximal 100.000 Bezeichnungen hinzufügen. Verwenden Sie zum Hinzufügen einer Bezeichnung die createLabel-Methode . Die -Methode verwendet den Namen, die Beschreibung und die Hintergrundfarbe der Bezeichnung als Eingabe.

Der Name ist erforderlich, aber die Beschreibung und Farbe sind optional. Bei dem Namen wird die Groß-/Kleinschreibung beachtet, darf 80 Zeichen nicht überschreiten und muss innerhalb des Kontos eindeutig sein. Obwohl die Farbe optional ist, wählt der Dienst eine zufällige Farbe aus, wenn Sie sie nicht angeben. Sie können die Farbe mithilfe einer Dreibyte-Hexadezimalzahl in der Form #RRGGBB (z. B. CB0400) oder einem der 16 bekannten Farbnamen wie Rot, Gelb und Aqua angeben. Wenn Sie eine Farbe angeben, müssen Sie eine Beschreibung angeben, aber es kann sich um eine leere Zeichenfolge handeln.

Das folgende Beispiel zeigt drei Möglichkeiten zum Aufrufen der createLabel -Methode.

function main() {

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

}

Auflisten der Bezeichnungen eines Kontos

Verwenden Sie die Bezeichnungsmethode, um eine Liste der Bezeichnungen in einem Konto abzurufen. Sie können die Liste mithilfe der Standardzeichenfolgenoperatoren wie =, CONTAINS und STARTS_WITH nach dem Namen der Bezeichnung filtern.

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

}

Anwenden einer Bezeichnung auf eine Schlüsselwort (keyword)

Bezeichnungen sind nur nützlich, wenn Sie sie auf Entitäten wie Schlüsselwörter anwenden. Um eine Bezeichnung auf eine Schlüsselwort (keyword) anzuwenden, verwenden Sie die applyLabel-Methode des Schlüsselwort (keyword). Sie können maximal 50 Bezeichnungen auf eine Schlüsselwort (keyword) anwenden. Die -Methode verwendet als Eingabe den Namen der Bezeichnung. Bei dem Namen der Bezeichnung wird die Groß-/Kleinschreibung beachtet, muss im Konto vorhanden sein und innerhalb des Schlüsselwort (keyword) eindeutig sein.

Das folgende Beispiel zeigt, wie Sie einem Schlüsselwort (keyword) Bezeichnungen hinzufügen, die Bezeichnungen der Schlüsselwort (keyword) auflisten und Bezeichnungen aus einem Schlüsselwort (keyword) entfernen.

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

Abrufen von Schlüsselwörtern, die eine der angegebenen Bezeichnungen enthalten

Um Schlüsselwörter abzurufen, die bestimmte Bezeichnungsnamen enthalten, verwenden Sie die withCondition() -Methode des KeywordSelector-Objekts. Verwenden Sie den Spaltennamen LabelNames, um nach Bezeichnungsnamen zu filtern. Sie können ein Array mit einem oder mehreren Namen angeben. Bei den Namen wird die Groß-/Kleinschreibung beachtet, muss genau übereinstimmen und im Konto vorhanden sein. Sie können die folgenden Operatoren anwenden:

  • CONTAINS_ALL – wählt die Schlüsselwort (keyword) aus, wenn sie alle angegebenen Bezeichnungen enthält.
  • CONTAINS_ANY – wählt die Schlüsselwort (keyword) aus, wenn sie eine der angegebenen Bezeichnungen enthält.
  • CONTAINS_NONE – wählt die Schlüsselwort (keyword) aus, wenn sie keine der angegebenen Bezeichnungen enthält.

Beachten Sie, dass der Selektor fehlschlägt und einen Fehler zurückgibt, wenn die Bezeichnung im Konto nicht vorhanden ist.

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

}