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
CampaignOperationobiektów - Pole
response_content_typewskazują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.
updateAktualizuje zasób, aby pasował do atrybutów
updateinterfejsu API zarządzania. Jeśli to pole jest ustawione, musisz też ustawić
update_maskoperacji, 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 obiektupdate_mask, jak pokazano w naszych bibliotekach klientów.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 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_status i change_event.
change_statuszawiera podsumowanie zasobów, które 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. Dowiedz się więcej o raportowaniu strumieniowania za pomocą GoogleAdsService.