Quando chiami l'API Google Ads, devi disporre sia delle credenziali OAuth 2.0 sia di un token sviluppatore. Se effettui chiamate API con un account amministratore Google Ads, devi specificare anche un'intestazione login-customer-id con ogni richiesta. Questa pagina descrive come impostare questi valori e documenta diverse
intestazioni HTTP specifiche dell'API che vengono inviate e ricevute quando si utilizza l'interfaccia
REST.
Credenziali OAuth 2.0
L'API Google Ads utilizza OAuth 2.0 per autorizzare le richieste API. Sono supportati sia il flusso di autenticazione utente OAuth 2.0 sia il flusso dell'account di servizio. Per maggiori dettagli, vedi OAuth 2.0 nell'API Google Ads.
Se non hai mai utilizzato le API di Google, puoi utilizzare la CLI gcloud o OAuth 2.0 Playground per sperimentare le credenziali OAuth 2.0 e l'API Google Ads prima di scrivere il codice per la tua app.
Ti consigliamo di utilizzare una delle librerie OAuth 2.0 disponibili all'indirizzo https://oauth.net/code/ per implementare i flussi di lavoro di autorizzazione OAuth 2.0. Tuttavia, abbiamo elencato le istruzioni curl nel caso in cui tu debba implementarle personalmente.
Account di servizio
Segui i passaggi per configurare un progetto Google Cloud per l'API Google Ads. Registra l'email del service account e la chiave del service account. Poi, segui le istruzioni comuni nella guida Account di servizio per configurare l'account di servizio per accedere al tuo account Google Ads.
Autenticazione degli utenti
Segui i passaggi per configurare un progetto Google Cloud Console per l'API Google Ads. Registra
l'ID client e il client secret. Quindi, segui le istruzioni del flusso dell'app desktop o le istruzioni del flusso dell'app web per generare un token di aggiornamento e un token di accesso. L'scope da utilizzare
per l'accesso all'API Google Ads è https://www.googleapis.com/auth/adwords.
Generare nuovi token di accesso
Account di servizio
Quando hai l'email dell'account di servizio e la chiave dell'account di servizio,
segui la guida Utilizzo di OAuth 2.0 per applicazioni
da server a server
per generare un insieme di rivendicazioni JWT, che può essere scambiato per ottenere
un token di accesso OAuth 2.0. Assicurati di selezionare la scheda HTTP/REST mentre
segui la guida. L'scope OAuth 2.0 da utilizzare per l'accesso all'API Google Ads è
https://www.googleapis.com/auth/adwords. Inoltre, puoi ignorare il parametro
sub durante la creazione del set di rivendicazioni JWT, perché i passaggi di configurazione
concedono al service account l'accesso diretto all'account Google Ads, evitando così la necessità di rappresentare un utente Google Ads.
Dopodiché utilizzi il token di accesso nell'intestazione HTTP Authorization di ogni chiamata API all'API Google Ads:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
Autenticazione degli utenti
Una volta ottenuti l'ID client, il client secret e il token di
aggiornamento OAuth 2.0, puoi generare un nuovo token di accesso da utilizzare nelle chiamate API con lo strumento a riga di comando
curl:
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/tokenDopodiché, utilizza il token di accesso restituito dalla richiesta curl nell'intestazione HTTP Authorization di ogni chiamata API all'API Google Ads:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
Intestazioni delle richieste
Token sviluppatore
L'API Google Ads richiede anche un token sviluppatore per effettuare chiamate all'API. Se hai già un token sviluppatore, puoi trovarlo all'indirizzo https://ads.google.com/aw/apicenter. Se richiesto, accedi al tuo account amministratore Google Ads. Se non ne hai uno, segui le istruzioni per registrarti e ottenere un token sviluppatore.
Devi includere il valore del token sviluppatore nell'intestazione HTTP developer-token di ogni chiamata API all'API Google Ads:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
ID cliente di accesso
Per le chiamate all'API Google Ads effettuate da un amministratore a un account cliente (ovvero quando si accede come amministratore per effettuare chiamate API a uno dei suoi account cliente), devi fornire anche l'intestazione HTTP login-customer-id. Questo valore rappresenta l'ID cliente Google Ads
del gestore che effettua la chiamata API.
L'inclusione di questa intestazione equivale alla scelta di un account nell'interfaccia utente di Google Ads
dopo aver eseguito l'accesso o aver fatto clic sulla tua immagine del profilo nell'angolo in alto a destra
della pagina. Quando specifichi l'ID cliente, assicurati di rimuovere tutti i trattini (—).
Ad esempio: 1234567890, non 123-456-7890. Consulta la guida al modello di accesso a Google Ads per scoprire di più sull'ID cliente di accesso.
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
ID cliente collegato
L'intestazione ID cliente collegato viene utilizzata solo da [provider di analisi dati delle app di terze parti quando caricano le conversioni in un account Google Ads collegato. Per ulteriori dettagli, consulta la guida alla struttura delle chiamate API.
...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID
Intestazioni della risposta
Le seguenti intestazioni vengono restituite nelle risposte HTTP dell'API.
ID richiesta
request-id è una stringa che identifica in modo univoco la richiesta API. Quando
esegui il debug o risolvi i problemi relativi a chiamate API specifiche, request-id
è un identificatore importante da tenere a portata di mano quando contatti l'assistenza
per gli sviluppatori Google.
request-id: 2a5Cj89VV7CNhya1DZjjrC