Zmień strategię

Z tego przewodnika dowiesz się, jak stworzyć dokładny odpowiednik istniejących przewodników po kampaniach Performance Max, w których zakładamy, że tworzysz całą kampanię w jednym, niepodzielnym żądaniu, a nie po kolei w osobnych żądaniach. Oznacza to, że do łączenia zasobów musisz używać identyfikatorów tymczasowych, ponieważ nie poznasz pełnych nazw zasobów, dopóki nie otrzymasz odpowiedzi interfejsu API.

Aby to zrobić, musisz napisać odpowiedni kod, który zagwarantuje, że nie utworzysz żadnych zduplikowanych identyfikatorów tymczasowych:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

Każde kolejne wywołanie funkcji getNextTempId zwraca numer mniejszy o jeden od poprzedniego. Wszystkie identyfikatory tymczasowe muszą być ujemne, więc zacznij od -1.

Mając to na uwadze, możesz utworzyć tablicę do przechowywania wszystkich operacji:

const operations = [];

Identyfikator klienta jest często potrzebny w przypadku klienta, dla którego tworzysz kampanię, ponieważ jest on wymagany w każdej nazwie zasobu.

const customerId = AdsApp.currentAccount().getCustomerId();

Za każdym razem, gdy chcesz utworzyć nową operację, użyj następnego identyfikatora tymczasowego w nazwie zasobu, aby móc się później odwołać do tego obiektu i wstawić utworzony obiekt do tablicy:

const newOperation = {
    [OPERATION_TYPE_VARIES]: {
        create: {
            resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
            // Other fields, relevant to the resource being created.
        }
    }
}
operations.push(newOperation);

Więcej informacji i przykładową operację znajdziesz w dokumentacji mutacji REST w interfejsie Google Ads API.

Gdy utworzysz wszystkie operacje, wykonaj je w pojedynczej serii:

AdsApp.mutateAll(operations);