Zmienianie i sprawdzanie obiektów

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 Ciebie update_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ń.