Nel flusso di lavoro di autenticazione multiutente, crei il tuo flusso OAuth per autenticare gli utenti. Nella documentazione di Google Identity vengono descritti diversi tipi di app e la configurazione del progetto Google Cloud Console necessaria per supportare il tipo di app. Tutti questi tipi di app sono supportati dall'API Google Ads. Ecco alcuni dettagli tecnici aggiuntivi da tenere presente:
Per accedere all'API Google Ads, devi configurare l'applicazione per l'autenticazione per il seguente ambito:
https://www.googleapis.com/auth/adwordsLa tua app potrebbe dover effettuare chiamate API per conto dell'utente mentre è offline. Uno scenario comune è scaricare le metriche dell'account offline per generare report ed eseguire analisi dell'account. Per questo motivo, ti consigliamo di richiedere [l'accesso offline OAuth][oauth-offline-access].
Devi completare la [procedura di verifica dell'app OAuth][app-verification] e ottenere la certificazione dell'app.
Configurazione della libreria client
Dopo aver autorizzato l'utente e ottenuto le credenziali OAuth 2.0, puoi configurare la libreria client seguendo le istruzioni nella scheda corrispondente al tuo linguaggio di programmazione.
Java
Puoi inizializzare l'istanza GoogleAdsClient in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente per i cui account stai effettuando chiamate API.
UserCredentials credentials =
UserCredentials.newBuilder()
.setClientId(OAUTH_CLIENT_ID)
.setClientSecret(OAUTH_CLIENT_SECRET)
.setRefreshToken(REFRESH_TOKEN)
.build();
// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
GoogleAdsClient.newBuilder()
// Sets the developer token which enables API access.
.setDeveloperToken(DEVELOPER_TOKEN)
// Sets the OAuth credentials which provide Google Ads account access.
.setCredentials(credentials)
// Optional: sets the login customer ID.
.setLoginCustomerId(Long.valueOf(LOGIN_CUSTOMER_ID))
.build();
``` See the [configuration guide][java-config-guide] for additional options.
.NET
Puoi inizializzare l'istanza GoogleAdsClient in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente per i cui account stai effettuando chiamate API.
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
Per altre opzioni, consulta la [guida alla configurazione][dotnet-config-guide].
Python
Puoi inizializzare l'istanza GoogleAdsClient in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente per i cui account stai effettuando chiamate API.
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "INSERT_DEVELOPER_TOKEN_HERE",
"login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
"refresh_token": "REFRESH_TOKEN",
"client_id": "OAUTH_CLIENT_ID",
"client_secret": "OAUTH_CLIENT_SECRET"}
client = GoogleAdsClient.load_from_dict(credentials)
Per altre opzioni, consulta la [guida alla configurazione][python-config-guide].
PHP
Puoi inizializzare l'istanza GoogleAdsClient in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente per i cui account stai effettuando chiamate API.
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
Per altre opzioni, consulta la [guida alla configurazione][php-config-guide].
Ruby
Puoi inizializzare l'istanza GoogleAdsClient in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente per i cui account stai effettuando chiamate API.
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
config.client_secret = 'INSERT_CLIENT_SECRET_HERE'
config.refresh_token = 'INSERT_REFRESH_TOKEN_HERE'
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
config.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
end
Per altre opzioni, consulta la [guida alla configurazione][ruby-config-guide].
Perl
Puoi inizializzare l'istanza GoogleAdsClient in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente per i cui account stai effettuando chiamate API.
my $api_client = Google::Ads::GoogleAds::Client->new({
developer_token => "INSERT_DEVELOPER_TOKEN_HERE",
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});
my $oauth2_applications_handler = $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN");
Per altre opzioni, consulta la [guida alla configurazione][perl-config-guide].
curl
Inizia utilizzando un client HTTP per recuperare un token di accesso OAuth 2.0. Questa guida utilizza il 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/tokenOra 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 dei
report.
curl -i -X POST https://googleads.googleapis.com/v24/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"Il contenuto di query.json è il seguente:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}
[oauth-offline-access]: /identity/protocols/oauth2/web-server#offline [app-verification]: //support.google.com/cloud/answer/13461325 [dotnet-config-guide]: /google-ads/api/docs/client-libs/dotnet/configuration [java-config-guide]: /google-ads/api/docs/client-libs/java/config-file [python-config-guide]: /google-ads/api/docs/client-libs/python/configuration [php-config-guide]: /google-ads/api/docs/client-libs/php/configuration [ruby-config-guide]: /google-ads/api/docs/client-libs/ruby/configuration [perl-config-guide]: /google-ads/api/docs/client-libs/perl/configuration