Jak opisano w przewodniku po strukturze interfejsu API, każdy zasób najwyższego poziomu w interfejsie Google Ads API ma odpowiadającą mu usługę odpowiadającą danemu typowi zasobu, która obsługuje:
- Modyfikowanie instancji zasobu
- Pobieranie pojedynczego wystąpienia zasobu do sprawdzenia
W tym przewodniku użyjemy usługi CampaignService
, aby pokazać, jak modyfikować i sprawdzać obiekty Campaign
, ale te same zasady dotyczą wszystkich innych usług związanych z danym typem zasobu.
Zmienianie obiektów
Każda usługa związana z konkretnym typem zasobu będzie mieć metodę mutate, która przyjmuje prośbę o zmianę. Ta prośba zawiera:
customerId
- zbiór operacji
- Ustawienie typu treści odpowiedzi, które określa, czy zmutowany zasób czy tylko nazwa zasobu ma być zwrócona po zmianie.
Na przykład metoda MutateCampaigns
klasy CampaignService
akceptuje argument 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 to pole typu oneof, które składa się z tych atrybutów o typie typu zasobu:
create
- Tworzy nową instancję zasobu.
update
- Zaktualizuje zasób, aby jego atrybuty były zgodne z atrybutami zasobu
update
. Gdy to pole jest ustawione, musisz też ustawićupdate_mask
operacji, która informuje interfejs Google Ads API, które atrybuty należy zmodyfikować podczas operacji aktualizacji. Każda biblioteka klienta ma metodę pomocniczą, która wygeneruje dla 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 modyfikowania wielu obiektów. Jeśli np. chcesz utworzyć jedną kampanię i usunąć inną, dodaj do żądania 2 wystąpieni elementu CampaignOperation
: jedno z wartością create
, a drugie z wartością remove
.
Operacje zbiorcze
Chociaż pojedyncza operacja może tworzyć, aktualizować lub usuwać tylko 1 zasób, pojedyncze żądanie zmiany może zawierać wiele operacji. Zamiast wysyłać wiele żądań z pojedynczą operacją, należy połączyć operacje w pojedyncze żądanie zmodyfikowania.
Jeśli np. chcesz utworzyć 10 kampanii, wyślij pojedynczy obiekt MutateCampaignsRequest
, który zawiera 10 obiektów CampaignOperation
.
Zmiana odpowiedzi
Dane zwracane w odpowiedzi zależą od tego, co zostało przesłane w polu response_content_type
żądania zmodyfikowania. Jeśli np. podano wartość MUTABLE_RESOURCE
, odpowiedź będzie zawierać tylko pola zmienne w kampanii. Następnie możesz wprowadzić dalsze zmiany w tym obiekcie zasobu bez konieczności jego odtwarzania.
Błędy funkcji mutate
Operacje w danym żądaniu zmodyfikowania zostaną zastosowane na koncie Google Ads tylko wtedy, gdy wszystkie operacje w tym żądaniu zakończą się powodzeniem. Zapoznaj się z przewodnikiem po typowych błędach, aby poznać listę typowych błędów i sposoby ich rozwiązywania.
Inspekcja obiektów za pomocą metody get (obsolecona)
Oprócz możliwości zmiany obiektów każda usługa dotycząca konkretnego typu zasobu ma też metodę get do pobierania wszystkich atrybutów pojedynczego zasobu.
Ta metoda akceptuje żądanie GET, którego jedynym atrybutem jest resource_name
.
Metody get to wygodna funkcja interfejsu Google Ads API, która umożliwia pobieranie wszystkich atrybutów pojedynczego obiektu. Chociaż jest to świetne narzędzie do nauki interfejsu API lub sprawdzania pojedynczego obiektu na potrzeby debugowania lub edukacyjne, aplikacja nie powinna używać metod get do pobierania obiektów na potrzeby przetwarzania lub raportowania.
Zamiast tego użyj zapytania GoogleAdsService
, ponieważ pozwala ono pobierać tylko określone atrybuty obiektów, obsługuje pobieranie danych o skuteczności i umożliwia przesyłanie dużych zbiorów wyników. Jeśli Twoja aplikacja przesyła dużą liczbę żądań GET, możesz napotkać limity szybkości.