Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie mehrere Konten haben oder Konten für andere verwalten, beginnt alles mit dem AccountsApp-Objekt . AccountsApp ist das Objekt der obersten Ebene, mit dem Sie die Liste der Konten abrufen, auf die Sie Zugriff haben, und um das zu verwaltende Konto auszuwählen. Nachdem Sie das Konto abgerufen und ausgewählt haben, wechseln Sie zur Verwendung des AdsApp-Objekts , um auf die Entitäten des Kontos zuzugreifen.
Hinweis
Verwenden Sie für Skripts für mehrere Konten den Skript-Editor, auf den über die Kontozusammenfassung in der Microsoft Advertising-Webanwendung zugegriffen wird. Wenn die Kontenzusammenfassung auf der Benutzeroberfläche nicht angezeigt wird, verwenden Sie den Skript-Editor für mehrere Konten nicht.
Um von der Kontozusammenfassung aus auf den Skript-Editor zuzugreifen, klicken Sie im linken Bereich auf Massenvorgänge. Klicken Sie dann unter Skripts auf Skripts erstellen und verwalten.
Auflisten der Konten, auf die Sie Zugriff haben
Um alle Konten aufzulisten, auf die Sie Zugriff haben, rufen Sie die Kontomethode auf. Die Methode gibt ein BingAdsAccountSelector-Objekt zurück, mit dem Sie die Liste der Konten filtern können. Informationen zur Verwendung von Selektoren zum Filtern von Listen finden Sie unter Verwenden von Selektoren.
Im folgenden Beispiel werden alle Konten zurückgegeben, auf die Sie Zugriff haben.
function main() {
var accounts = AccountsApp.accounts()
.get();
while (accounts.hasNext()) {
var account = accounts.next();
Logger.log(`Account ID: ${account.getAccountId()}
Account name: ${account.getName()}
Account number: ${account.getAccountNumber()}
Customer ID: ${account.getCustomerId()}
Currency code: ${account.getCurrencyCode()}
Time zone: ${account.getTimeZone()}\n\n`);
}
}
Ausführen einer Funktion für jedes Konto parallel
Wenn Sie an mehreren Konten parallel arbeiten möchten, rufen Sie die Methode des SelektorsexecuteInParallel() auf. Sie können executeInParallel() folgende Methoden aufrufen.
executeInParallel(string functionName, string optionalCallbackFunctionName)
Geben Sie den Namen der Funktion an, die von Scripts für jedes vom Selektor zurückgegebene Konto aufgerufen wird. Die Funktion kann einen Wert als Zeichenfolge zurückgeben. Um ein komplexes Objekt zurückzugeben, verwenden Sie die JSON.stringify-Methode, um das Objekt in eine Zeichenfolge zu konvertieren. Anschließend können Sie die Methode JSON.parse verwenden, um die Zeichenfolge wieder in ein Objekt zu konvertieren.
Wenn Ihre Funktion einen Wert zurückgibt, müssen Sie eine Rückruffunktion angeben, um die Rückgabewerte zu erfassen. Nachdem die Funktion für alle ausgewählten Konten ausgeführt wurde, ruft Scripts die optionale Rückruffunktion auf. Die Rückgabewerte werden als Array von ExecutionResult-Objekten übergeben.
executeInParallel(string functionName, string optionalCallbackFunctionName, string optionalInput)
Geben Sie den Namen der Funktion an, die von Scripts für jedes vom Selektor zurückgegebene Konto aufgerufen wird. Sie können eine optionale Eingabezeichenfolge angeben, die Scripts an die Funktion übergibt. Um ein komplexes Objekt zu übergeben, verwenden Sie die JSON.stringify-Methode, um das Objekt in eine Zeichenfolge zu konvertieren. Sie können dann die JSON.parse-Methode innerhalb der Funktion verwenden, um die Zeichenfolge wieder in ein Objekt zu konvertieren.
Die Funktion kann einen Wert als Zeichenfolge zurückgeben. Um ein komplexes Objekt zurückzugeben, verwenden Sie die JSON.stringify-Methode, um das Objekt in eine Zeichenfolge zu konvertieren. Anschließend können Sie die Methode JSON.parse verwenden, um die Zeichenfolge wieder in ein Objekt zu konvertieren.
Wenn Ihre Funktion einen Wert zurückgibt, müssen Sie eine Rückruffunktion angeben, um die Rückgabewerte zu erfassen. Nachdem die Funktion für alle ausgewählten Konten ausgeführt wurde, ruft Scripts die optionale Rückruffunktion auf. Die Rückgabewerte werden als Array von ExecutionResult-Objekten übergeben.
Sie müssen die Anzahl der Konten auf 50 begrenzen. Andernfalls schlägt der Aufruf fehl, wenn der Selektor mehr als 50 zurückgibt. Um die Anzahl der Konten zu begrenzen, können Sie die withLimit()Methoden , withIds()und withAccountNumbers() verwenden.
Das folgende Beispiel zeigt ein einfaches Beispiel, bei dem eine Funktion für jedes Konto ausgeführt wird, das letzte Woche eine Klickrate von weniger als 5 % hatte. Im Beispiel wird diese withLimit() Methode verwendet, um sicherzustellen, dass der Anruf das Limit von 50 Konten nicht überschreitet.
function main() {
// Select the accounts to process.
var accounts = AccountsApp.accounts()
.withLimit(50)
.withCondition('Ctr < 0.05')
.forDateRange('LAST_WEEK')
.executeInParallel('bump', 'resultsHandler');
}
function bump() {
var account = AdsApp.currentAccount();
// Do something with the entities in the account.
Logger.log(`Processing account: ${account.getAccountId()} (${account.getName()})`);
// Return a value that's processed by resultsHandler(). If
// the function returns a value, it must be a string. To return
// a complex object, use JSON.stringify(object) to return the
// object as a string.
return account.getAccountId();
}
// Handles all return values from the bump() function after the
// function completes for all accounts.
function resultsHandler(results) {
for (var result of results) {
if (result.getStatus() === 'OK') {
value = result.getReturnValue();
}
}
}
Ändern des Kontos, das von Scripts verarbeitet wird
Bis Sie ein Konto zur Verarbeitung auswählen, können Sie keine der AdsApp-Methoden aufrufen, um die Entitätsdaten des Kontos abzurufen. Um ein Konto auszuwählen, verwenden Sie die Auswahlmethode von AccountsApp.
Aber zuerst müssen Sie die Kontenmethode aufrufen, um die Konten auszuwählen, die Sie verarbeiten möchten. Informationen zum accounts() Filtern der Liste der Konten finden Sie unter Auflisten der Konten, auf die Sie Zugriff haben.
Nachdem Sie ein Konto erhalten haben, rufen Sie die select() Methode auf, um das Konto zum aktuellen Konto zu machen. Im folgenden Beispiel wird dieser Prozess veranschaulicht.
function main() {
// This call logs null. Before using any
// of the AdsApp methods, you must first
// select an account to process.
Logger.log(AdsApp.currentAccount());
// Select the accounts to process
var accounts = AccountsApp.accounts()
.withIds(['123', '456', '789'])
.get();
while (accounts.hasNext()) {
AccountsApp.select(accounts.next());
// AdsApp is now set to the current account.
// Do something with the account's entities.
}
}