Come descritto nella guida alla struttura dell'API, ogni risorsa di primo livello nell'API Google Ads ha un servizio corrispondente specifico per un tipo di risorsa che supporta:
- Modifica delle istanze della risorsa
- Recupero di una singola istanza della risorsa per l'ispezione
Questa guida utilizzerà CampaignService
per dimostrare la modifica e l'ispezione degli oggetti Campaign
, ma gli stessi concetti si applicano a tutti gli altri servizi specifici per tipo di risorsa.
Modifica degli oggetti
Ogni servizio specifico di un tipo di risorsa avrà un metodo mutate che accetta una richiesta di modifica. Questa richiesta è composta da:
customerId
- Una raccolta di operazioni
- Un'impostazione del tipo di contenuto della risposta che determina se la risorsa modificabile o solo il nome della risorsa deve essere restituita dopo la mutazione.
Ad esempio, il metodo MutateCampaigns
di CampaignService
accetta una
MutateCampaignsRequest
che consiste
di:
customerId
- Una raccolta di
CampaignOperation
oggetti - Il campo
response_content_type
che indica il tipo di risposta preferito.
Suite operativa
Un oggetto operazione come CampaignOperation
consente di specificare l'azione da eseguire su una singola risorsa impostando il relativo campo operation
. Questo è un campo unico composto dai seguenti attributi, il cui tipo è il tipo di risorsa:
create
- Crea una nuova istanza della risorsa.
update
- Aggiorna la risorsa in modo che corrisponda agli attributi della risorsa
update
. Se questo campo è impostato, devi impostare anche ilupdate_mask
dell'operazione, che indica all'API Google Ads quali attributi modificare durante l'operazione di aggiornamento. Ogni libreria client dispone di un'utilità o di un metodo helper che genereràupdate_mask
automaticamente, come dimostrato nelle nostre librerie client. remove
- Rimuove la risorsa.
Poiché il campo operation
è di tipo oneof
, non puoi utilizzare una singola
operazione per modificare più oggetti. Ad esempio, se vuoi creare una
campagna e rimuoverne un'altra, aggiungi due istanze di CampaignOperation
alla richiesta: una con create
impostato e un'altra con remove
impostato.
Operazioni di raggruppamento
Sebbene una singola operazione possa creare, aggiornare o rimuovere solo una singola risorsa, una singola richiesta di modifica può contenere più operazioni. Dovresti combinare le tue operazioni in un'unica richiesta di mutazione anziché inviare più richieste di mutazione contenenti ciascuna una singola operazione.
Ad esempio, se vuoi creare dieci campagne, devi inviare un singolo MutateCampaignsRequest
con dieci oggetti CampaignOperation
.
Modifica risposte
Ciò che viene restituito nella risposta dipende da ciò che è stato inviato nel
response_content_type
della richiesta di modifica. Ad esempio, se MUTABLE_RESOURCE
è stato specificato, la risposta conterrà solo i
campi modificabili della campagna. Puoi quindi apportare modifiche di follow-up
all'oggetto risorsa senza doverlo ricostruire.
Errori di modifica
Le operazioni in una determinata richiesta di modifica verranno applicate al tuo account Google Ads solo se ogni operazione nella richiesta ha esito positivo. Consulta la guida agli errori comuni per un elenco di errori comuni e come risolverli.
Ispezione di oggetti con get (deprecato)
Oltre a modificare gli oggetti, ogni servizio specifico del tipo di risorsa dispone anche di un metodo get per recuperare tutti gli attributi di una singola risorsa.
Questo metodo accetta una richiesta get il cui unico attributo è resource_name
.
I metodi get sono vantaggi offerti dall'API Google Ads per semplificare il recupero di tutti gli attributi di un singolo oggetto. Sebbene questo sia un ottimo strumento per
imparare l'API o ispezionare un singolo oggetto per il debug o a scopo didattico, l'app non dovrebbe usare metodi GET per recuperare gli oggetti per l'elaborazione
o la generazione di report. Utilizza invece GoogleAdsService
, poiché consente di recuperare solo attributi specifici degli oggetti, supporta il recupero di metriche delle prestazioni e consente lo streaming attraverso grandi set di risultati. Se la tua app invia un numero elevato
di richieste get, potresti incorrere in limiti di frequenza.