Le nostre librerie client forniscono visualizzazioni di alto livello e blocchi di base della funzionalità dell'API Google Ads, semplificando lo sviluppo rapido di app. Ti consigliamo di iniziare con una se non hai mai utilizzato l'API.
| Libreria client | Origine | Distribuzione | Esempi di codice | 
|---|---|---|---|
| Java | google-ads-java | Maven, tar.gz | Visualizza su GitHub | 
| .NET | google-ads-dotnet | nuget, tar.gz, zip | Visualizza su GitHub | 
| PHP | google-ads-php | tar.gz | Visualizza su GitHub | 
| Python | google-ads-python | tar.gz, zip | Visualizza su GitHub | 
| Ruby | google-ads-ruby | gem, tar.gz, zip | Visualizza su GitHub | 
| Perl | google-ads-perl | tar.gz, zip | Visualizza su GitHub | 
Community Libraries
Siamo a conoscenza di diverse librerie gestite dalla community open source. Gestiamo questo elenco per aiutare gli sviluppatori interessati a trovarli. Non eseguiamo test, non contribuiamo né gestiamo queste librerie; utilizzale a tuo rischio e pericolo. 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.
Versioni API supportate
La tabella mostra quali librerie client funzionano con quali versioni dell'API.
Java
| API Google Ads | Libreria client per Java | 
| v22 | Min: 41.0.0Max: - | 
| v21 | Min: 39.0.0Max: - | 
| v20 | Min: 38.0.0Max: - | 
| v19 | Min: 36.0.0Max: - | 
C#
| API Google Ads | Libreria client per .NET | 
| v22 | Min: 24.1.0Max: - | 
| v21 | Min: 24.0.0Max: - | 
| v20 | Min: 23.0.0Max: - | 
| v19 | Min: 22.1.0Max: - | 
PHP
| API Google Ads | Libreria client per PHP | 
| v22 | Min: 31.0.0Max: - | 
| v21 | Min: 28.0.0Max: - | 
| v20 | Min: 26.1.0Max: - | 
| v19 | Min: 25.0.0Max: 30.0.0 | 
Python
| API Google Ads | Libreria client per Python | 
| v22 | Min: 28.1.0Max: - | 
| v21 | Min: 28.0.0Max: - | 
| v20 | Min: 27.0.0Max: - | 
| v19 | Min: 25.2.0Max: - | 
Ruby
| API Google Ads | Libreria client per Ruby | 
| v22 | Min: 36.0.0Max: - | 
| v21 | Min: 35.0.0Max: - | 
| v20 | Min: 34.0.0Max: - | 
| v19 | Min: 32.0.0Max: - | 
Perl
| API Google Ads | Libreria client per Perl | 
| v22 | Min: 29.0.0Max: - | 
| v21 | Min: 28.0.0Max: - | 
| v20 | Min: 27.0.0Max: - | 
| v19 | Min: 26.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 comuni a tutte le librerie client e che possono essere caricate per impostare le impostazioni di configurazione:
- Libreria client
- GOOGLE_ADS_CONFIGURATION_FILE_PATH: il percorso del file di configurazione.
 
- OAuth2
- Modalità 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 di configurazione JSON OAuth2.
- GOOGLE_ADS_IMPERSONATED_EMAIL: imposta questo valore sull'indirizzo email dell'account che stai rappresentando.
 
 
- Modalità applicazione
- API Google Ads
- GOOGLE_ADS_DEVELOPER_TOKEN: impostalo sul tuo token sviluppatore.
- 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 (risorsa- AccountLinknell'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 scoprire 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
tramite 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.
src ~/.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.
La nostra libreria client implementa 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.V22.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::V22::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; }
Esempi di codice
Dai un'occhiata ai nostri esempi di codice di alcune funzioni comuni nell'API Google Ads.