Intestazioni per l'autorizzazione e HTTP

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/token

Dopodiché, 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