Jak wspomnieliśmy w Przewodniku po strukturze interfejsu API, każdy zasób najwyższego poziomu w interfejsie Google Ads API ma odpowiednią usługę konkretnego typu, która obsługuje:
- Modyfikowanie instancji zasobu
- Pobieram 1 instancję zasobu do inspekcji
W tym przewodniku wykorzystamy CampaignService
do zademonstrowania modyfikowania i sprawdzania obiektów Campaign
, ale te same koncepcje będą miały zastosowanie do wszystkich innych usług powiązanych z konkretnym typem zasobów.
Zmieniające się obiekty
Każda usługa specyficzna dla typu zasobu ma metodę mutate, która akceptuje żądanie mutacji. Żądanie składa się z następujących elementów:
customerId
- Zbiór działań
- Ustawienie typu treści odpowiedzi, które określa, czy po mutacji powinien zostać zwrócony zasób zmienny, czy tylko jego nazwa.
Na przykład metoda MutateCampaigns
metody CampaignService
akceptuje MutateCampaignsRequest
, który składa się z:
customerId
- Kolekcja
CampaignOperation
obiektów - Pole
response_content_type
wskazujące preferowany typ odpowiedzi.
Operacje
Obiekt operacji, taki jak CampaignOperation
, pozwala określić działanie, które chcesz wykonać na pojedynczym zasobie, ustawiając jego pole operation
. To pole jest jedno z pól, które składa się z tych atrybutów, których typem jest typ zasobu:
create
- Tworzy nową instancję zasobu.
update
- Aktualizuje zasób tak, aby pasował do atrybutów zasobu
update
. Gdy to pole jest skonfigurowane, musisz też ustawićupdate_mask
operacji, która informuje interfejs Google Ads API o atrybutach, które ma zmodyfikować podczas aktualizacji. Każda biblioteka klienta ma metodę narzędzia lub metodę pomocniczą, która generuje za Ciebieupdate_mask
, jak pokazano w naszych bibliotekach klienta. remove
- Usuwa zasób.
Ponieważ pole operation
jest polem oneof
, nie można użyć jednej operacji do modyfikacji wielu obiektów. Jeśli np. chcesz utworzyć jedną kampanię i usunąć inną, dodaj do żądania 2 wystąpienia elementu CampaignOperation
: jedno z ustawionym ustawieniem create
i drugie z ustawionym remove
.
Operacje grupowania
W przypadku pojedynczej operacji można utworzyć, zaktualizować lub usunąć tylko 1 zasób, natomiast jedno żądanie mutacji może zawierać wiele operacji. Zamiast wysyłać wiele żądań mutacji, z których każde zawiera 1 operację, połącz swoje operacje w jedno żądanie mutacji.
Jeśli np. chcesz utworzyć 10 kampanii, wyślij pojedynczy element MutateCampaignsRequest
zawierający 10 obiektów CampaignOperation
.
Zmieniaj odpowiedzi
Treść zwracana w odpowiedzi zależy od tego, co zostało wysłane w elemencie response_content_type
żądania mutacji. Jeśli na przykład określono MUTABLE_RESOURCE
, odpowiedź będzie zawierać tylko pola zmienne w kampanii. Dzięki temu możesz wprowadzić mutacje do tego obiektu zasobu bez konieczności jego odtwarzania.
Błędy mutacji
Operacje w danej prośbie o mutację zostaną zastosowane na koncie Google Ads tylko wtedy, gdy wszystkie operacje w żądaniu zakończą się powodzeniem. Zapoznaj się z przewodnikiem po typowych błędach, w którym znajdziesz listę najczęstszych błędów i sposoby ich rozwiązywania.
Kontrola obiektów za pomocą metody get (wycofano)
Oprócz zmian obiektów każda usługa specyficzna dla typu zasobu ma też metodę get do pobierania wszystkich atrybutów pojedynczego zasobu.
Ta metoda akceptuje żądania get, których jedynym atrybutem jest resource_name
.
Metody get to udogodnienie zapewniane przez interfejs Google Ads API, które ułatwiają pobieranie wszystkich atrybutów danego obiektu. Chociaż jest to świetne narzędzie do nauki obsługi interfejsu API lub sprawdzania poszczególnych obiektów do celów debugowania lub nauki, aplikacja nie powinna używać metod pobierania obiektów w celu przetworzenia lub raportowania. Zamiast niego używaj metody GoogleAdsService
, ponieważ umożliwia ona pobieranie tylko określonych atrybutów obiektów, obsługuje pobieranie danych dotyczących wydajności oraz umożliwia strumieniowe przesyłanie danych z dużych zbiorów wyników. Jeśli Twoja aplikacja przesyła dużą liczbę żądań pobrania, możesz natrafić na limity liczby żądań.