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, nonché la configurazione del progetto Google Cloud Console necessaria per supportare quel 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/adwords
La tua app potrebbe dover effettuare chiamate API per conto dell'utente mentre è offline. Uno scenario comune è scaricare offline le metriche dell'account per generare report ed eseguire analisi dell'account. Per questo motivo, ti consigliamo di richiedere l'accesso offline OAuth.
Devi completare la procedura di verifica dell'app OAuth e ottenere la certificazione per la tua 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 di GoogleAdsClient
in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente i cui account stai chiamando l'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 di GoogleAdsClient
in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente i cui account stai chiamando l'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.
Python
Puoi inizializzare l'istanza di GoogleAdsClient
in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente i cui account stai chiamando l'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.
PHP
Puoi inizializzare l'istanza di GoogleAdsClient
in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente i cui account stai chiamando l'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.
Ruby
Puoi inizializzare l'istanza di GoogleAdsClient
in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente i cui account stai chiamando l'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.
Perl
Puoi inizializzare l'istanza di GoogleAdsClient
in fase di runtime utilizzando le credenziali che hai ottenuto dall'utente i cui account stai chiamando l'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.
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/token
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"
}