Modifica e ispezione degli oggetti

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 valore update_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 genera update_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.