Le nostre librerie client forniscono visualizzazioni di alto livello e componenti di base della funzionalità dell'API Google Ads, semplificando lo sviluppo rapido delle app. Ti consigliamo di iniziare con una di queste 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 |
Versioni API supportate
La tabella mostra quali librerie client funzionano con le diverse versioni dell'API.
Java
API Google Ads |
Libreria client per Java |
v18 |
34.0.0 Min:
Max: -
|
v17 |
32.0.0 Min:
Max: -
|
v16 |
Min: 30.0.0 Max: - |
C#
API Google Ads |
Libreria client per .NET |
v18 |
21.1.0 Min:
Max: -
|
v17 |
20.1.0 Min:
Max: -
|
v16 |
18.1.0 Min:
Max: -
|
PHP
API Google Ads |
Libreria client per PHP |
v18 |
25.0.0 Min:
Max: -
|
v17 |
23.1.0 Min:
Max: -
|
v16 |
Min: 22.1.0 Max: - |
Python
API Google Ads |
Libreria client per Python |
v18 |
Min: 25.1.0 Max: - |
v17 |
Min: 24.1.0 Max: - |
v16 |
23.1.0 Min:
Max: -
|
Ruby
API Google Ads |
Libreria client per Ruby |
v18 |
31.0.0 Min:
Max: -
|
v17 |
29.0.0 Min:
Max: -
|
v16 |
27.0.0 Min:
Max: -
|
Perl
API Google Ads |
Libreria client per Perl |
v18 |
Min: 25.0.0 Max: - |
v17 |
Min: 23.0.0 Max: - |
v16 |
Min: 21.0.0 Max: - |
Configurazione
Ogni libreria client dell'API Google Ads fornisce impostazioni di configurazione e metodi di caricamento utilizzabili 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
: 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 tuo client secret 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à account di servizio
GOOGLE_ADS_JSON_KEY_FILE_PATH
: imposta questo valore sulla configurazione JSON OAuth2 del file YAML.GOOGLE_ADS_IMPERSONATED_EMAIL
: imposta questo valore sull'indirizzo email dell'account di cui stai rubando l'identità.
- Modalità applicazione
- API Google Ads
GOOGLE_ADS_DEVELOPER_TOKEN
: imposta il token sviluppatore.GOOGLE_ADS_LOGIN_CUSTOMER_ID
: si tratta dell'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 è stata concessa l'autorizzazione tramite gli account collegati nell'interfaccia utente di Google Ads (risorsaAccountLink
nell'API Google Ads). Imposta questo valore all'ID cliente del fornitore di dati che aggiorna le risorse del all'ID cliente specificato. Deve essere impostato senza trattini (-
). Per scoprire di più sugli Account collegati, visita il Centro assistenza.
Le variabili di ambiente sono comunemente definite in un file di configurazione di bash, ad esempio un file .bashrc
o .bash_profile
, situato nella directory $HOME
. Loro
può essere definito anche
utilizzando la riga di comando.
Ecco alcuni passaggi di base per definire una variabile di ambiente utilizzando un .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.
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
Cerca impaginazione
GoogleAdsService.Search
è in genere
utilizzate in app interattive che mostrano pagine di risultati. Le dimensioni della pagina sono fisse
a 10.000 risultati per pagina.
La nostra libreria client implementa automaticamente la paginazione quando esegui l'iterazione dei risultati in modo da poterli scaricare ed elaborare in sequenza tutti contemporaneamente, ad esempio:
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.V18.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, customer_id): ga_service = client.get_service("GoogleAdsService") query = """ SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id""" # Issues a search request using streaming. stream = ga_service.search_stream(customer_id=customer_id, query=query) for batch in stream: for row in batch.results: 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::V18::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.