Questa guida spiega come accedere all'API Google Ads con i service account.
Un service account è un account che appartiene alla tua app anziché a un singolo utente finale. I service account utilizzano un flusso OAuth 2.0 che non richiede l'autorizzazione umana, ma un file chiave accessibile solo alla tua app.
L'utilizzo dei service account offre due vantaggi principali:
L'autorizzazione per l'accesso all'API Google Ads agli account Google Ads viene eseguita come passaggio di configurazione, sfruttando le funzionalità di autorizzazione e gestione degli account offerte dall'interfaccia utente Google Ads. In questo modo, gli sviluppatori non devono creare flussi OAuth 2.0 e gestire le complicazioni che comportano l'interazione dell'utente, l'archiviazione delle credenziali utente e così via.
L'autorizzazione di accesso agli account Google Ads non è collegata alle credenziali del singolo utente, il che può essere utile nei casi in cui si prevede che l'autorizzazione continui anche se il dipendente che l'ha autorizzata originariamente lascia il team o l'azienda.
Configurazione dell'accesso all'account
Inizia creando un service account e le relative credenziali.
Scarica la chiave dell'account di servizio in formato JSON e annota l'ID e l'indirizzo email dell'account di servizio.
Accedi al tuo account Google Ads come amministratore. Vai ad Amministrazione > Accesso e sicurezza.
Fai clic sul pulsante + nella scheda Utenti.
Digita l'indirizzo email del service account nella casella di input Email. Seleziona il livello di accesso all'account appropriato e fai clic sul pulsante Aggiungi account. Tieni presente che i livelli di accesso Email e Amministratore non sono supportati per gli account di servizio.
All'account di servizio viene concesso l'accesso.
Configurazione della libreria client
Seleziona la scheda corrispondente al tuo linguaggio di programmazione per istruzioni su come configurare la libreria client.
Java
Imposta il percorso JSON della chiave privata nella configurazione. Se utilizzi un file
ads.properties
, aggiungi quanto segue:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
Consulta la guida alla configurazione per ulteriori dettagli.
.NET
Imposta OAuth2Mode
e OAuth2SecretsJsonPath
nell'istanza GoogleAdsConfig
e utilizzali per inizializzare l'oggetto GoogleAdsClient
.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
...
};
GoogleAdsClient client = new GoogleAdsClient(config);
Consulta la guida alla configurazione per ulteriori dettagli.
Python
Imposta il percorso JSON della chiave privata nella configurazione. Se utilizzi un
google-ads.yaml file
, una stringa YAML o dict
, aggiungi quanto segue:
json_key_file_path: JSON_KEY_FILE_PATH
Se utilizzi variabili di ambiente, aggiungi quanto segue alla configurazione o all'ambiente Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
PHP
Configura le seguenti chiavi in google_ads_php.ini
. Per ulteriori dettagli, consulta la guida alla configurazione.
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
Ruby
Configura le seguenti chiavi nel file google_ads_config.rb
.
c.keyfile = 'JSON_KEY_FILE_PATH'
Perl
Imposta il percorso JSON della chiave privata e l'ID account delegato nella configurazione.
Se utilizzi un file googleads.properties
, aggiungi quanto segue:
jsonKeyFilePath=JSON_KEY_FILE_PATH
Se utilizzi variabili di ambiente, aggiungi quanto segue alla configurazione o all'ambiente Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
curl
Inizia impostando il service account come credenziali attive nella CLI gcloud.
gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON
Successivamente, recupera un token di accesso OAuth 2.0 per l'API Google Ads.
gcloud auth \
print-access-token \
--scopes='https://www.googleapis.com/auth/adwords'
Ora puoi utilizzare il token di accesso nelle chiamate API. L'esempio seguente
mostra come generare un report sulle campagne utilizzando il
metodo GoogleAdsService.SearchStream
per recuperare le
campagne nel tuo account. Questa guida non copre i dettagli della
segnalazione.
curl -i -X POST https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"
I contenuti di query.json
sono i seguenti:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}