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 zmiany 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.