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 umożliwia modyfikowanie instancji zasobu.
W tym przewodniku użyjemy CampaignService, aby
pokazać, jak modyfikować obiekty Campaign, ale te same
zasady obowiązują w przypadku wszystkich innych usług specyficznych dla typu zasobu.
Zmień obiekty
Każda usługa specyficzna dla typu zasobu będzie miała metodę mutate, która akceptuje żądanie mutacji. To żądanie składa się z tych elementów:
customerId- kolekcja operacji
- ustawienie typu treści odpowiedzi, które określa, czy po modyfikacji ma zostać zwrócony zasób podlegający zmianom, czy tylko nazwa zasobu.
Na przykład metoda MutateCampaigns usługi CampaignService akceptuje
MutateCampaignsRequest, który składa się
z tych elementów:
customerId- kolekcja obiektów
CampaignOperation - pole
response_content_typewskazujące preferowany typ odpowiedzi.
Operacje
Obiekt operacji, taki jak CampaignOperation, umożliwia określenie działania, które chcesz wykonać na pojedynczym zasobie, przez ustawienie jego pola operation.
To pole jest polem oneof
składającym się z tych atrybutów, których typem jest typ zasobu:
create- Tworzy nową instancję zasobu.
updateAktualizuje zasób, aby pasował do atrybutów
updatezasobu. Gdy to pole jest ustawione, musisz też ustawić
update_maskoperacji, która informuje interfejs Google Ads API, które atrybuty mają zostać zmodyfikowane podczas operacji aktualizacji. Każda biblioteka klienta ma metodę narzędziową lub pomocniczą, która wygeneruje dla Ciebieupdate_mask, jak pokazano w naszych bibliotekach klienta.removeUsuwa 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 instancje CampaignOperation: jedną z ustawionym polem create, a drugą z ustawionym polem remove.
Operacje wsadowe
Chociaż pojedyncza operacja może tylko utworzyć, zaktualizować lub usunąć pojedynczy zasób, pojedyncze żądanie mutacji może zawierać wiele operacji. Zamiast wysyłać wiele żądań mutacji, z których każde zawiera pojedynczą operację, połącz operacje w jedno żądanie mutacji.
Jeśli na przykład chcesz utworzyć 10 kampanii, wyślij jedno żądanie MutateCampaignsRequest, które zawiera 10 obiektów CampaignOperation.
Odpowiedzi na mutacje
To, co jest zwracane w odpowiedzi, zależy od tego, co zostało wysłane w polu
response_content_type
żądania mutacji. Jeśli na przykład określono MUTABLE_RESOURCE, to
odpowiedź będzie zawierać tylko pola podlegające zmianom w kampanii. Następnie możesz wprowadzać kolejne mutacje w tym obiekcie zasobu bez konieczności jego ponownego tworzenia.
Błędy mutacji
Operacje w danym żądaniu mutacji zostaną zastosowane do Twojego konta Google Ads tylko wtedy, gdy każda operacja w żądaniu zakończy się powodzeniem. Listę typowych błędów i sposoby ich rozwiązywania znajdziesz w przewodniku po typowych błędach.
Śledzenie zmian
Aby śledzić zmiany wprowadzane w obiektach na koncie Google Ads lub pobierać bieżący stan obiektów, możesz używać zasobów change_status i change_event.
change_statuszawiera podsumowanie, które zasoby uległy zmianie w danym okresie.change_eventzawiera 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. Więcej informacji o przesyłaniu strumieniowym raportów
za pomocą GoogleAdsService