Flusso di lavoro del service account

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 dall'interfaccia utente di 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 per l'accesso agli account Google Ads non è vincolata 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 originariamente l'accesso lascia il team o l'azienda.

Configurazione dell'accesso all'account

  1. Inizia con la creazione di un service account e delle credenziali.

    Scarica la chiave del service account in formato JSON e prendi nota dell'ID e dell'indirizzo email del service account.

  2. Accedi al tuo account Google Ads come amministratore. Vai ad Amministratore > Accesso e sicurezza.

  3. Fai clic sul pulsante + nella scheda Utenti.

  4. 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.

  5. Al service account viene concesso l'accesso.

  6. [Facoltativo] Per impostazione predefinita, non puoi concedere l'accesso amministratore a un service account. Se le chiamate API richiedono l'accesso amministratore, puoi eseguire l'upgrade dell'accesso nel seguente modo.

    • 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.

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 per.

.NET

Imposta OAuth2Mode e OAuth2SecretsJsonPath sull'istanza GoogleAdsConfig e utilizzala per inizializzare l'oggetto GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
    ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

Per ulteriori dettagli, consulta la guida alla configurazione per.

Python

Imposta il percorso JSON della chiave privata nella configurazione. Se utilizzi un google-ads.yaml file, una stringa YAML o un 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

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 in google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'

Perl

Imposta il percorso JSON della chiave privata e l'ID dell'account delegato 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

curl

Inizia impostando il service account come credenziali attive in gcloud CLI.

gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON

Poi, 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 eseguire un report sulle campagne utilizzando il metodo GoogleAdsService.SearchStream per recuperare le campagne nel tuo account. Questa guida non tratta i dettagli della generazione di report.

curl -i -X POST https://googleads.googleapis.com/v25/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"

Di seguito sono riportati i contenuti di query.json:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}