Identyfikatory

Większość jednostek Google Ads udostępnia metodę getId(), która zwraca ich identyfikator. Chociaż w większości przypadków nie jest to konieczne, identyfikatory mogą się przydać, gdy

pracujesz z raportami
identyfikatory umożliwiają powiązanie wiersza raportu z rzeczywistą jednostką Google Ads,
utrzymujesz mapowanie z zewnętrznym magazynem danych,
możesz już mieć informacje oparte na identyfikatorach przechowywane we własnej bazie danych,
chcesz zwiększyć wydajność.

Pobieranie według identyfikatorów jest często szybsze niż inne metody. Kod do pobierania pojedynczej jednostki jest też nieco prostszy:

let campaigns = AdsApp.campaigns()
   .withIds([678678])
   .get();
// versus
let campaigns = AdsApp.campaigns()
   .withCondition("Name='My Campaign'")
   .get();

Unikalność

Identyfikatory kampanii i grup reklam są unikalne: żadne 2 kampanie ani grupy reklam nie będą miały tego samego identyfikatora. Reklamy i słowa kluczowe mają jednak identyfikatory złożone: unikalny identyfikator słowa kluczowego to połączenie identyfikatora grupy reklam i identyfikatora słowa kluczowego. Podobnie unikalny identyfikator reklamy to połączenie identyfikatora grupy reklam i identyfikatora reklamy. Ma to wpływ na sposób wywoływania funkcji selector.withIds().

W przypadku kampanii i grup reklam funkcja selector.withIds() oczekuje tablicy liczb:

let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);

W przypadku reklam i słów kluczowych funkcja selector.withIds() wymaga jednak tablicy tablic dwuelementowych, z których pierwszy element to identyfikator grupy reklam. Poniższy fragment kodu pobiera 3 słowa kluczowe z grupy reklam:

let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
    [adGroupId, 234234],
    [adGroupId, 345345],
    [adGroupId, 456456]
]);

Ta sama konstrukcja jest stosowana podczas pobierania reklam.

Identyfikatory tymczasowe

Podczas pracy z żądaniem mutate zawierającym wiele operacji czasami trzeba użyć identyfikatorów tymczasowych, aby połączyć ze sobą zasoby, ponieważ pełne nazwy zasobów będą dostępne dopiero po otrzymaniu odpowiedzi z interfejsu API. Identyfikatory tymczasowe muszą być liczbami ujemnymi zaczynającymi się od -1 i nie mogą się powtarzać w ramach tego samego żądania mutate. Aby skutecznie korzystać z identyfikatorów tymczasowych, musisz napisać kod, który zapewni, że nie utworzysz duplikatów identyfikatorów tymczasowych:

let nextId = -1;

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

Każde kolejne wywołanie funkcji getNextTempId zwróci liczbę o 1 mniejszą od poprzedniej. Ponieważ wszystkie identyfikatory tymczasowe muszą być ujemne, zacznij od -1.

Identyfikatory tymczasowe nie są zapamiętywane w ramach zadań ani żądań mutate. Aby odwołać się do zasobu utworzonego w poprzednim żądaniu mutate, użyj jego rzeczywistej nazwy.