Come descritto nella guida alla struttura dell'API, ogni risorsa di primo livello nell'API Google Ads ha un servizio corrispondente specifico per il tipo di risorsa che supporta:
- Modifica delle istanze della risorsa
- Recupero di una singola istanza della risorsa per l'ispezione
In questa guida verrà utilizzato 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.
Modificare gli oggetti
Ogni servizio specifico per tipo di risorsa avrà un metodo mutate che accetta una richiesta di modifica. Questa richiesta è composta da:
- Un
customerId
- Una raccolta di operazioni
- Un'impostazione del tipo di contenuti della risposta che determina se la risorsa mutabile o solo il nome della risorsa deve essere restituita dopo la mutazione.
Ad esempio, il metodo MutateCampaigns
di CampaignService
accetta un
MutateCampaignsRequest
costituito da:
- Un
customerId
- Una raccolta di oggetti
CampaignOperation
- Il campo
response_content_type
che indica il tipo di risposta preferito.
Operazioni
Un oggetto operazione come CampaignOperation
ti consente di specificare l'azione che vuoi eseguire su una singola risorsa impostando il relativo campo operation
. Questo campo è un
campo oneof
costituito 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
. Quando questo campo è impostato, devi impostare anche il valoreupdate_mask
dell'operazione, che indica all'API Google Ads quali attributi modificare durante l'operazione di aggiornamento. Ogni libreria client ha un metodo di utilità o di supporto che generaupdate_mask
per te, come dimostrato nelle nostre librerie client. remove
- Rimuove la risorsa.
Poiché il campo operation
è un campo 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. Devi combinare le operazioni in una singola richiesta di modifica anziché inviare più richieste di modifica contenenti ciascuna una singola operazione.
Ad esempio, se vuoi creare dieci campagne, devi inviare un
unico MutateCampaignsRequest
contenente dieci oggetti CampaignOperation
.
Modifica le risposte
Ciò che viene restituito nella risposta dipende da ciò che è stato inviato nel
response_content_type
della richiesta di modifica. Ad esempio, se è stato specificato MUTABLE_RESOURCE
, la risposta conterrà solo i campi mutabili della campagna. Puoi quindi apportare ulteriori modifiche all'oggetto della risorsa senza doverla ricostruire.
Errori di Mutate
Le operazioni in una determinata richiesta di modifica verranno applicate al tuo account Google Ads solo se tutte le operazioni nella richiesta andranno a buon fine. Consulta la guida agli errori comuni per un elenco degli errori comuni e come risolverli.
Ispezione degli oggetti con get (disponibile solo per i clienti legacy)
Oltre a modificare gli oggetti, ogni servizio specifico per tipo di risorsa ha anche 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 un'opzione comoda offerta dall'API Google Ads per recuperare tutti gli attributi di un singolo oggetto. Sebbene sia uno strumento eccezionale per apprendere l'API o ispezionare un singolo oggetto a scopo di debug o didattico, la tua app non deve utilizzare i metodi get per recuperare gli oggetti per l'elaborazione o la generazione di report.
Utilizza invece GoogleAdsService
, poiché ti consente di recuperare solo attributi specifici degli oggetti, supporta il recupero delle metriche sul rendimento e consente lo streaming di insiemi di risultati di grandi dimensioni. Se la tua app invia un numero elevato di richieste get, potresti riscontrare limiti di frequenza.