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ę związaną z typem zasobu, która umożliwia modyfikowanie instancji zasobu.
W tym przewodniku do modyfikowania obiektów Campaign
użyjemy 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 danego 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, 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_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 za Ciebieupdate_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 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. Zapoznaj się z przewodnikiem po typowych błędach, aby poznać listę najczęstszych błędów i sposoby ich rozwiązywania.