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 utilizza un file chiave accessibile solo dalla 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 dalla UI di Google Ads. In questo modo, gli sviluppatori non devono creare flussi OAuth 2.0 e gestire le complicazioni che comportano l'interazione con l'utente, l'archiviazione delle credenziali utente e la gestione dei token.
L'autorizzazione per l'accesso agli account Google Ads non è legata alle credenziali dei singoli utenti, il che può essere utile nei casi in cui si prevede che l'autorizzazione continui anche se il dipendente che ha autorizzato l'accesso originariamente lascia il team o l'azienda.
Configurazione dell'accesso all'account
Inizia creando un service account e le credenziali.
Scarica la chiave del service account in formato JSON e prendi nota dell'ID e dell'indirizzo email del service account.
Accedi al tuo account Google Ads come amministratore. Vai ad Amministratore > Accesso e sicurezza.
Fai clic sul pulsante + nella scheda Utenti.
Digita l'indirizzo email del service account nella casella di immissione Email. Seleziona il livello di accesso all'account appropriato (tieni presente che i service account non supportano il livello di accesso Solo email) e fai clic sul pulsante Aggiungi account.
Al service account viene concesso l'accesso.
(Facoltativo) Per impostazione predefinita, non puoi concedere l'accesso amministrativo a un service account. Segui il principio del privilegio minimo e concedi l'accesso amministratore solo se le chiamate API lo richiedono. Puoi eseguire l'upgrade dell'accesso come segue:
- Fai clic sulla freccia menu a discesa accanto al livello di accesso del service account nella colonna Livello di accesso.
- Seleziona Amministratore dall'elenco a discesa.
Configurazione della libreria client
Seleziona la scheda corrispondente al tuo linguaggio di programmazione per istruzioni su come configurare la libreria client. Se il tuo service account accede agli account cliente tramite un account amministratore Google Ads, imposta anche login-customer-id (o loginCustomerId) sull'ID cliente di 10 cifre dell'account amministratore senza trattini (consulta ID cliente di accesso).
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
Per ulteriori dettagli, consulta la guida alla configurazione.
.NET
Imposta OAuth2Mode e OAuth2SecretsJsonPath nell'istanza GoogleAdsConfig e utilizzala per inizializzare l'oggetto GoogleAdsClient.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
// ...
};
GoogleAdsClient client = new GoogleAdsClient(config);
Per ulteriori dettagli, consulta la guida alla configurazione.
Python
Imposta il percorso JSON della chiave privata nella configurazione. Se utilizzi un file google-ads.yaml, una stringa YAML o dict, aggiungi quanto segue:
json_key_file_path: JSON_KEY_FILE_PATH
Se utilizzi le variabili di ambiente, aggiungi quanto segue alla configurazione o all'ambiente Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
Per ulteriori dettagli, consulta la guida alla configurazione.
PHP
Configura le seguenti chiavi nel file google_ads_php.ini.
[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
Per ulteriori dettagli, consulta la guida alla configurazione.
Ruby
Configura le seguenti chiavi nel file google_ads_config.rb.
c.keyfile = 'JSON_KEY_FILE_PATH'
Per ulteriori dettagli, consulta la guida alla configurazione.
Perl
Imposta il percorso JSON della chiave privata nella configurazione. Se utilizzi un file googleads.properties, aggiungi quanto segue:
jsonKeyFilePath=JSON_KEY_FILE_PATH
Se utilizzi le variabili di ambiente, aggiungi quanto segue alla configurazione o all'ambiente Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
Per ulteriori dettagli, consulta la guida alla configurazione.
curl
Inizia impostando il service account come credenziali attive in gcloud CLI.
gcloud auth login --cred-file=JSON_KEY_FILE_PATHSuccessivamente, 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'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 illustra i dettagli dei report.
curl -i -X POST \
https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_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"
}