Le librerie client dell'API Google Ads forniscono visualizzazioni di alto livello e blocchi di base della funzionalità dell'API Google Ads, semplificando lo sviluppo rapido di app. Se non hai mai utilizzato l'API, inizia con una libreria client.
| Libreria client | Origine | Distribuzione | Esempi di codice |
|---|---|---|---|
| Java | google-ads-java | Maven, tar.gz, zip | Visualizza su GitHub |
| .NET | google-ads-dotnet | NuGet, tar.gz, zip | Visualizza su GitHub |
| PHP | google-ads-php | Composer, tar.gz, zip | Visualizza su GitHub |
| Python | google-ads-python | PyPI, tar.gz, zip | Visualizza su GitHub |
| Ruby | google-ads-ruby | RubyGems, tar.gz, zip | Visualizza su GitHub |
| Perl | google-ads-perl | CPAN, tar.gz, zip | Visualizza su GitHub |
Librerie della community
Siamo a conoscenza di diverse librerie gestite dalla community open source. Aggiorniamo questo elenco per aiutare gli sviluppatori interessati a trovarli. Non eseguiamo test, non contribuiamo né gestiamo queste librerie; utilizzale a tuo rischio. Eventuali domande devono essere rivolte ai proprietari dei progetti open source.
Se conosci una libreria che ci è sfuggita, fai clic su Invia feedback nella parte superiore della pagina e comunicacelo.
- Node.js:
google-ads-apisu npm - Go:
google-ads-pbsu GitHub
Versioni API supportate
La tabella mostra quali librerie client funzionano con quali versioni dell'API.
La versione minima della libreria client elencata è sufficiente per la release principale dell'API Google Ads (ad esempio la v25). Per visualizzare la versione della libreria client richiesta per le release secondarie, consulta il log delle modifiche collegato.
Java
API Google Ads |
Libreria client per Java |
v25 |
Min: 44.0.0Max: - |
v24 |
Min: 43.0.0Max: - |
v23 |
Min: 42.0.0Max: - |
C#
API Google Ads |
Libreria client per .NET |
v25 |
Min: 26.1.0Max: - |
v24 |
Min: 25.3.0Max: - |
v23 |
Min: 25.1.0Max: - |
PHP
API Google Ads |
Libreria client per PHP |
v25 |
Min: 33.6.0Max: - |
v24 |
Min: 33.3.0Max: - |
v23 |
Min: 32.2.0Max: - |
Python
API Google Ads |
Libreria client per Python |
v25 |
Min: 31.2.0Max: - |
v24 |
Min: 30.1.0Max: - |
v23 |
Min: 29.2.0Max: - |
Ruby
API Google Ads |
Libreria client per Ruby |
v25 |
Min: 43.0.0Max: - |
v24 |
Min: 40.0.0Max: - |
v23 |
Min: 38.0.0Max: - |
Perl
API Google Ads |
Libreria client per Perl |
v25 |
Min: 33.0.0Max: - |
v24 |
Min: 32.0.0Max: - |
v23 |
Min: 31.0.0Max: - |
Configurazione
Ogni libreria client dell'API Google Ads fornisce diverse impostazioni di configurazione e metodi di caricamento che puoi utilizzare per personalizzarne il comportamento.
Di seguito sono riportate le variabili di ambiente standard che puoi utilizzare per configurare le librerie client:
- Libreria client
GOOGLE_ADS_CONFIGURATION_FILE_PATH: percorso del file di configurazione (letto automaticamente durante il caricamento da un file di configurazione senza un argomento del percorso esplicito in Java (fromPropertiesFile()), Perl (Client->new()), PHP (fromFile()), Python (load_from_storage(), e anche controllato daload_from_env()) e Ruby (GoogleAdsClient.new); in.NET, carica questa variabile in modo esplicito utilizzandoconfig.TryLoadFromEnvironmentFilePatho carica i file di configurazione utilizzandoLoadFromSettingsJson,LoadFromConfigurationSectionoLoadFromConfigurationRoot).
- OAuth2
- Modalità di applicazione
GOOGLE_ADS_CLIENT_ID: imposta questo valore sull'ID client OAuth2.GOOGLE_ADS_CLIENT_SECRET: imposta questo valore sul secret del client OAuth2.GOOGLE_ADS_REFRESH_TOKEN: imposta questo valore su un token di aggiornamento OAuth2 pregenerato se vuoi riutilizzare i token OAuth2. Questa impostazione è facoltativa.
- Modalità service account
GOOGLE_ADS_JSON_KEY_FILE_PATH: imposta questo valore sul percorso del file della chiave JSON OAuth2 (in.NET, imposta ancheGOOGLE_ADS_OAUTH2_MODEsuSERVICE_ACCOUNT, poichéOAuth2Modeè impostato per impostazione predefinita suAPPLICATION; nelle versioni di PHP precedenti allav32.1.0o quando utilizzi ambiti personalizzati, imposta anche[OAUTH2] scopesingoogle_ads_php.inio chiamawithScopes(), poichéfromEnvironmentVariables()non legge gli ambiti OAuth2 da una variabile di ambiente).GOOGLE_ADS_IMPERSONATED_EMAIL: imposta questo valore sull'indirizzo email dell'account che stai rappresentando quando utilizzi la delega a livello di dominio di Google Workspace. Questa impostazione è facoltativa.
- Modalità Credenziali predefinite dell'applicazione
GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS: imposta questo valore sutrueper l'autenticazione tramite le credenziali predefinite dell'applicazione (ADC). Supportato in Javav41.1.0e versioni successive, Pythonv28.3.0e versioni successive e Rubyv36.1.0e versioni successive (in .NETv24.1.0e versioni successive,LoadFromEnvironmentVariables()legge la variabileUSE_APPLICATION_DEFAULT_CREDENTIALSsenza prefisso oppure impostaUseApplicationDefaultCredentials = truesuGoogleAdsConfig; in PHP,OAuth2TokenBuilderesegue automaticamente il fallback ad ADC quando non sono impostate credenziali OAuth2 esplicite; Perl non supporta ADC).
- Modalità di applicazione
- API Google Ads
GOOGLE_ADS_DEVELOPER_TOKEN: facoltativo nelle versioni più recenti (Javav46.0.0e versioni successive, .NETv27.3.0e versioni successive, PHPv35.0.0e versioni successive, Pythonv32.0.0e versioni successive, Rubyv45.0.0e versioni successive e Perlv35.0.0e versioni successive). I token sviluppatore sono stati ritirati il 9 settembre 2026 e i server API ignorano l'intestazionedeveloper-tokenindipendentemente dalla versione della libreria client (finché una futura versione principale dell'API Google Ads non la rifiuterà). Le versioni precedenti della libreria client richiedono ancora un valore non vuoto per la convalida lato client locale. Consulta la guida alla configurazione di ogni libreria per i dettagli specifici della versione.GOOGLE_ADS_LOGIN_CUSTOMER_ID: l'ID cliente del cliente autorizzato da utilizzare nella richiesta, senza trattini (-).GOOGLE_ADS_LINKED_CUSTOMER_ID: questa intestazione è obbligatoria solo per i metodi che aggiornano le risorse di un'entità quando l'autorizzazione viene concessa tramite gli account collegati nell'interfaccia utente Google Ads (risorsaAccountLinknell'API Google Ads). Imposta questo valore sull'ID cliente del fornitore di dati che aggiorna le risorse dell'ID cliente specificato. Deve essere impostato senza trattini (-). Per saperne di più sugli account collegati, visita il Centro assistenza.
Le variabili di ambiente vengono comunemente definite in un file di configurazione bash, ad esempio un file .bashrc o .bash_profile che si trova nella directory $HOME. Possono
essere definiti anche utilizzando la riga di comando.
Ecco alcuni passaggi di base per definire una variabile di ambiente utilizzando un file .bashrc
utilizzando un terminale:
# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
source ~/.bashrc
Le variabili di ambiente possono essere impostate anche nell'istanza del terminale direttamente dalla riga di comando:
export GOOGLE_ADS_CLIENT_ID=1234567890
Un'altra alternativa è impostare le variabili di ambiente quando chiami il comando che le utilizza:
GOOGLE_ADS_CLIENT_ID=1234567890 php /path/to/script/that/uses/envvar.php
Recupera entità
GoogleAdsService.SearchStream
viene in genere utilizzato per recuperare le entità e i risultati vengono restituiti come flusso
di righe. In alternativa, puoi utilizzare
GoogleAdsService.Search per recuperare
le entità tramite una connessione a internet inaffidabile. GoogleAdsService.Search
restituisce i risultati come dimensioni di pagina fisse di 10.000 righe per pagina.
Le librerie client implementano automaticamente la paginazione quando scorri i risultati, in modo da poterli scaricare ed elaborare in sequenza tutti in una volta.
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId) { try (GoogleAdsServiceClient googleAdsServiceClient = googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) { String query = "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"; // Constructs the SearchGoogleAdsStreamRequest. SearchGoogleAdsStreamRequest request = SearchGoogleAdsStreamRequest.newBuilder() .setCustomerId(Long.toString(customerId)) .setQuery(query) .build(); // Creates and issues a search Google Ads stream request that will retrieve all campaigns. ServerStream<SearchGoogleAdsStreamResponse> stream = googleAdsServiceClient.searchStreamCallable().call(request); // Iterates through and prints all of the results in the stream response. for (SearchGoogleAdsStreamResponse response : stream) { for (GoogleAdsRow googleAdsRow : response.getResultsList()) { System.out.printf( "Campaign with ID %d and name '%s' was found.%n", googleAdsRow.getCampaign().getId(), googleAdsRow.getCampaign().getName()); } } } }
C#
public void Run(GoogleAdsClient client, long customerId) { // Get the GoogleAdsService. GoogleAdsServiceClient googleAdsService = client.GetService( Services.V25.GoogleAdsService); // Create a query that will retrieve all campaigns. string query = @"SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"; try { // Issue a search request. googleAdsService.SearchStream(customerId.ToString(), query, delegate (SearchGoogleAdsStreamResponse resp) { foreach (GoogleAdsRow googleAdsRow in resp.Results) { Console.WriteLine("Campaign with ID {0} and name '{1}' was found.", googleAdsRow.Campaign.Id, googleAdsRow.Campaign.Name); } } ); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); // Creates a query that retrieves all campaigns. $query = 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id'; // Issues a search stream request. /** @var GoogleAdsServerStreamDecorator $stream */ $stream = $googleAdsServiceClient->searchStream( SearchGoogleAdsStreamRequest::build($customerId, $query) ); // Iterates over all rows in all messages and prints the requested field values for // the campaign in each row. foreach ($stream->iterateAllElements() as $googleAdsRow) { /** @var GoogleAdsRow $googleAdsRow */ printf( "Campaign with ID %d and name '%s' was found.%s", $googleAdsRow->getCampaign()->getId(), $googleAdsRow->getCampaign()->getName(), PHP_EOL ); } }
Python
def main(client: GoogleAdsClient, customer_id: str) -> None: ga_service: GoogleAdsServiceClient = client.get_service("GoogleAdsService") query: str = """ SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id""" # Issues a search request using streaming. stream: Iterator[SearchGoogleAdsStreamResponse] = ga_service.search_stream( customer_id=customer_id, query=query ) for batch in stream: rows: List[GoogleAdsRow] = batch.results for row in rows: print( f"Campaign with ID {row.campaign.id} and name " f'"{row.campaign.name}" was found.' )
Ruby
def get_campaigns(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new responses = client.service.google_ads.search_stream( customer_id: customer_id, query: 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id', ) responses.each do |response| response.results.each do |row| puts "Campaign with ID #{row.campaign.id} and name '#{row.campaign.name}' was found." end end end
Perl
sub get_campaigns { my ($api_client, $customer_id) = @_; # Create a search Google Ads stream request that will retrieve all campaigns. my $search_stream_request = Google::Ads::GoogleAds::V25::Services::GoogleAdsService::SearchGoogleAdsStreamRequest ->new({ customerId => $customer_id, query => "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id" }); # Get the GoogleAdsService. my $google_ads_service = $api_client->GoogleAdsService(); my $search_stream_handler = Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({ service => $google_ads_service, request => $search_stream_request }); # Issue a search request and process the stream response to print the requested # field values for the campaign in each row. $search_stream_handler->process_contents( sub { my $google_ads_row = shift; printf "Campaign with ID %d and name '%s' was found.\n", $google_ads_row->{campaign}{id}, $google_ads_row->{campaign}{name}; }); return 1; }
curl
Esempi di codice
Dai un'occhiata ai nostri esempi di codice di alcune funzioni comuni nell'API Google Ads.