Zmienianie i sprawdzanie obiektów

Jak opisano w przewodniku po strukturze interfejsu API, każdy zasób najwyższego poziomu w interfejsie Google Ads API ma odpowiadającą mu usługę odpowiadającą danemu typowi zasobu, która obsługuje:

  • Modyfikowanie instancji zasobu
  • Pobieranie pojedynczego wystąpienia zasobu do sprawdzenia

W tym przewodniku użyjemy usługi CampaignService, aby pokazać, jak modyfikować i sprawdzać obiekty Campaign, ale te same zasady dotyczą wszystkich innych usług związanych z danym typem zasobu.

Zmienianie obiektów

Każda usługa związana z konkretnym typem zasobu będzie mieć metodę mutate, która przyjmuje prośbę o zmianę. Ta prośba zawiera:

  • customerId
  • zbiór operacji
  • Ustawienie typu treści odpowiedzi, które określa, czy zmutowany zasób czy tylko nazwa zasobu ma być zwrócona po zmianie.

Na przykład metoda MutateCampaigns klasy CampaignService akceptuje argument MutateCampaignsRequest, który składa się z:

  • customerId
  • Kolekcja CampaignOperation obiektów
  • Pole response_content_type wskazujące preferowany typ odpowiedzi.

Operacje

Obiekt operacji, np. CampaignOperation, umożliwia określenie działania, które chcesz wykonać na pojedynczym zasobie, przez ustawienie jego pola operation. To pole to pole typu oneof, które składa się z tych atrybutów o typie typu zasobu:

create
Tworzy nową instancję zasobu.
update
Zaktualizuje zasób, aby jego atrybuty były zgodne z atrybutami zasobu update. Gdy to pole jest ustawione, musisz też ustawić update_mask operacji, która informuje interfejs Google Ads API, które atrybuty należy zmodyfikować podczas operacji aktualizacji. Każda biblioteka klienta ma metodę pomocniczą, która wygeneruje dla Ciebie update_mask, jak pokazano w naszych bibliotekach klienta.
remove
Usuwa zasób.

Ponieważ pole operation jest polem oneof, nie możesz użyć jednej operacji do modyfikowania wielu obiektów. Jeśli np. chcesz utworzyć jedną kampanię i usunąć inną, dodaj do żądania 2 wystąpieni elementu CampaignOperation: jedno z wartością create, a drugie z wartością remove.

Operacje zbiorcze

Chociaż pojedyncza operacja może tworzyć, aktualizować lub usuwać tylko 1 zasób, pojedyncze żądanie zmiany może zawierać wiele operacji. Zamiast wysyłać wiele żądań z pojedynczą operacją, należy połączyć operacje w pojedyncze żądanie zmodyfikowania.

Jeśli np. chcesz utworzyć 10 kampanii, wyślij pojedynczy obiekt MutateCampaignsRequest, który zawiera 10 obiektów CampaignOperation.

Zmiana odpowiedzi

Dane zwracane w odpowiedzi zależą od tego, co zostało przesłane w polu response_content_type żądania zmodyfikowania. Jeśli np. podano wartość MUTABLE_RESOURCE, odpowiedź będzie zawierać tylko pola zmienne w kampanii. Następnie możesz wprowadzić dalsze zmiany w tym obiekcie zasobu bez konieczności jego odtwarzania.

Błędy funkcji mutate

Operacje w danym żądaniu zmodyfikowania zostaną zastosowane na koncie Google Ads tylko wtedy, gdy wszystkie operacje w tym żądaniu zakończą się powodzeniem. Zapoznaj się z przewodnikiem po typowych błędach, aby poznać listę typowych błędów i sposoby ich rozwiązywania.

Inspekcja obiektów za pomocą metody get (obsolecona)

Oprócz możliwości zmiany obiektów każda usługa dotycząca konkretnego typu zasobu ma też metodę get do pobierania wszystkich atrybutów pojedynczego zasobu. Ta metoda akceptuje żądanie GET, którego jedynym atrybutem jest resource_name.

Metody get to wygodna funkcja interfejsu Google Ads API, która umożliwia pobieranie wszystkich atrybutów pojedynczego obiektu. Chociaż jest to świetne narzędzie do nauki interfejsu API lub sprawdzania pojedynczego obiektu na potrzeby debugowania lub edukacyjne, aplikacja nie powinna używać metod get do pobierania obiektów na potrzeby przetwarzania lub raportowania. Zamiast tego użyj zapytania GoogleAdsService, ponieważ pozwala ono pobierać tylko określone atrybuty obiektów, obsługuje pobieranie danych o skuteczności i umożliwia przesyłanie dużych zbiorów wyników. Jeśli Twoja aplikacja przesyła dużą liczbę żądań GET, możesz napotkać limity szybkości.