Zmień obiekty

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ę specyficzną dla typu zasobu, która obsługuje modyfikowanie instancji zasobu.

W tym przewodniku do modyfikowania obiektów Campaign będziemy używać CampaignService, ale te same zasady obowiązują w przypadku wszystkich innych usług związanych z określonym typem zasobu.

Zmienianie obiektów

Każda usługa specyficzna dla typu zasobu będzie miała metodę mutate, która akceptuje żądanie zmiany. To żądanie składa się z tych elementów:

  • customerId
  • zbiór operacji,
  • Ustawienie typu treści odpowiedzi, które określa, czy po zmianie ma być zwracany zasób podlegający zmianom, czy tylko nazwa zasobu.

Na przykład metoda MutateCampaigns klasy 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, np. CampaignOperation, umożliwia określenie działania, które chcesz wykonać na pojedynczym zasobie, przez ustawienie jego pola operation. To pole jest polem typu oneof, które zawiera te atrybuty, których typem jest typ zasobu:

create
Tworzy nową instancję zasobu.
update
Aktualizuje zasób, aby był zgodny z atrybutami zasobu update. Jeśli to pole jest ustawione, musisz też ustawić update_mask operacji, które informuje interfejs Google Ads API, które atrybuty należy zmodyfikować podczas operacji aktualizacji. Każda biblioteka klienta ma narzędzie lub metodę pomocniczą, która wygeneruje za Ciebie update_mask, jak pokazano w naszych bibliotekach klientów.
remove
Usuwa zasób.

Ponieważ pole operation jest polem oneof, nie możesz użyć jednej operacji do zmodyfikowania wielu obiektów. Jeśli na przykład chcesz utworzyć jedną kampanię i usunąć inną, dodaj do żądania 2 wystąpienia elementu CampaignOperation: jedno z ustawionym parametrem create i drugie z ustawionym parametrem remove.

Operacje wsadowe

Pojedyncza operacja może tylko utworzyć, zaktualizować lub usunąć pojedynczy zasób, ale pojedyncze żądanie zmiany może zawierać wiele operacji. Zamiast wysyłać wiele żądań zmiany, z których każde zawiera jedną operację, połącz operacje w jedno żądanie zmiany.

Jeśli na przykład chcesz utworzyć 10 kampanii, wyślij jeden MutateCampaignsRequest zawierający 10 obiektów CampaignOperation.

Odpowiedzi dotyczące zmiany

To, co jest zwracane w odpowiedzi, zależy od tego, co zostało wysłane w polu response_content_type żądania zmiany. Jeśli na przykład określono wartość MUTABLE_RESOURCE, odpowiedź będzie zawierać tylko pola, które można zmieniać w kampanii. Następnie możesz wprowadzać kolejne zmiany w tym obiekcie zasobu bez konieczności jego ponownego tworzenia.

Błędy modyfikacji

Operacje w danym żądaniu zmiany zostaną zastosowane na koncie Google Ads tylko wtedy, gdy każda operacja w żądaniu zakończy się powodzeniem. Zapoznaj się z przewodnikiem po typowych błędach, aby poznać listę najczęstszych błędów i sposoby ich rozwiązywania.