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 demonstrowania modyfikowania obiektów Campaign użyjemy symbolu CampaignService, ale te same koncepcje mają zastosowanie do wszystkich innych usług specyficznych dla typu zasobu.

Zmienianie obiektów

Każda usługa dotycząca konkretnego 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 składającym się z tych atrybutów, których typem jest typ zasobu:

create
Tworzy nową instancję zasobu.
update

Aktualizuje zasób, aby pasował do atrybutów update

interfejsu API zarządzania. 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 dla Ciebie obiekt 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 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. Listę typowych błędów i sposobów ich rozwiązywania znajdziesz w przewodniku po najczęstszych błędach.

Śledzenie zmian

Aby śledzić zmiany wprowadzane w obiektach na koncie Google Ads lub pobierać ich bieżący stan, możesz używać zasobów change_statuschange_event.

  • change_status zawiera podsumowanie zasobów, które uległy zmianie w danym okresie.
  • change_event zawiera szczegółową historię zmian, w tym stare i nowe wartości zmienionych pól.

Aby wysyłać zapytania do tych zasobów, użyj metody GoogleAdsService.SearchStream lub GoogleAdsService.Search. Dowiedz się więcej o raportowaniu strumieniowania za pomocą GoogleAdsService.