Nos bibliothèques clientes proposent des vues d'ensemble et les éléments de base des fonctionnalités de l'API Google Ads. Vous pouvez ainsi développer rapidement des applications plus facilement. Nous vous recommandons de commencer par une API si vous débutez avec l'API.
Bibliothèque cliente | Source | Distribution | Exemples de code |
---|---|---|---|
Java | google-ads-java | Maven, tar.gz | Afficher sur GitHub |
.NET | google-ads-dotnet | nuget, tar.gz, zip | Afficher sur GitHub |
PHP | google-ads-php | tar.gz | Afficher sur GitHub |
Python | google-ads-python | tar.gz, zip | Afficher sur GitHub |
Ruby | google-ads-ruby | gem, tar.gz, zip | Afficher sur GitHub |
Perl | google-ads-perl | tar.gz, zip | Afficher sur GitHub |
Versions d'API compatibles
Le tableau indique les bibliothèques clientes compatibles avec les versions d'API.
Java
API Google Ads |
Bibliothèque cliente pour Java |
v18 |
Min: 34.0.0 Max: - |
v17 |
Min: 32.0.0 Max: - |
v16 |
Min: 30.0.0 Max: - |
C#
API Google Ads |
Bibliothèque cliente pour .NET |
v18 |
Min: 21.1.0 Max: - |
v17 |
Min: 20.1.0 Max: - |
v16 |
Min: 18.1.0 Max: - |
PHP
API Google Ads |
Bibliothèque cliente pour PHP |
v18 |
Min: 25.0.0 Max: - |
v17 |
Min: 23.1.0 Max: - |
v16 |
Min: 22.1.0 Max: - |
Python
API Google Ads |
Bibliothèque cliente pour Python |
v18 |
Min: 25.1.0 Max: - |
v17 |
Min: 24.1.0 Max: - |
v16 |
Min: 23.1.0 Max: - |
Ruby
API Google Ads |
Bibliothèque cliente pour Ruby |
v18 |
Min: 31.0.0 Max: - |
v17 |
Min: 29.0.0 Max: - |
v16 |
Min: 27.0.0 Max: - |
Perl
API Google Ads |
Bibliothèque cliente pour Perl |
v18 |
Min: 25.0.0 Max: - |
v17 |
Min: 23.0.0 Max: - |
v16 |
Min: 21.0.0 Max: - |
Configuration
Chaque bibliothèque cliente de l'API Ads fournit des paramètres de configuration et des méthodes de chargement différents que vous pouvez utiliser pour personnaliser son comportement.
Voici les variables d'environnement communes à toutes les bibliothèques clientes et qui peuvent être chargées pour définir les paramètres de configuration :
- Bibliothèque cliente
GOOGLE_ADS_CONFIGURATION_FILE_PATH
: chemin d'accès au fichier de configuration.
- OAuth2
- Mode Application
GOOGLE_ADS_CLIENT_ID
: définissez cette valeur sur votre ID client OAuth2.GOOGLE_ADS_CLIENT_SECRET
: indiquez le code secret du client OAuth2.GOOGLE_ADS_REFRESH_TOKEN
: définissez cette valeur sur un jeton d'actualisation OAuth2 prégénéré si vous souhaitez réutiliser les jetons OAuth2. Ce paramètre est facultatif.
- Mode Compte de service
GOOGLE_ADS_JSON_KEY_FILE_PATH
: définissez cette valeur sur le chemin d'accès au fichier de configuration JSON OAuth2.GOOGLE_ADS_IMPERSONATED_EMAIL
: définissez cette valeur sur l'adresse e-mail du compte que vous usurpez.
- Mode Application
- API Google Ads
GOOGLE_ADS_DEVELOPER_TOKEN
: indiquez votre jeton de développeur.GOOGLE_ADS_LOGIN_CUSTOMER_ID
: numéro client du client autorisé à utiliser dans la requête, sans les traits d'union (-
).GOOGLE_ADS_LINKED_CUSTOMER_ID
: cet en-tête n'est requis que pour les méthodes qui mettent à jour les ressources d'une entité lorsqu'elles y sont autorisées via des comptes associés dans l'interface utilisateur Google Ads (ressourceAccountLink
dans l'API Google Ads). Définissez cette valeur sur l'ID client du fournisseur de données qui met à jour les ressources de l'ID client spécifié. Il doit être défini sans tirets (-
). Pour en savoir plus sur les comptes associés, consultez le Centre d'aide.
Les variables d'environnement sont généralement définies dans un fichier de configuration bash, tel qu'un fichier .bashrc
ou .bash_profile
, situé dans le répertoire $HOME
. Ils peuvent également être définis à l'aide de la ligne de commande.
Voici quelques étapes de base pour définir une variable d'environnement à l'aide d'un fichier .bashrc
à l'aide d'un terminal :
# 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
Vous pouvez également définir les variables d'environnement dans votre instance de terminal directement à partir de la ligne de commande:
export GOOGLE_ADS_CLIENT_ID=1234567890
Vous pouvez également définir des variables d'environnement lorsque vous appelez la commande qui les utilise :
GOOGLE_ADS_CLIENT_ID=1234567890 php /path/to/script/that/uses/envvar.php
Pagination de la recherche
GoogleAdsService.Search
est généralement utilisé dans les applications interactives qui affichent des pages de résultats. La taille d'une page est fixée à 10 000 résultats par page.
Notre bibliothèque cliente implémente automatiquement la pagination lorsque vous itérez les résultats, ce qui vous permet de les télécharger et de les traiter de manière séquentielle en même temps, par exemple:
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; }
Exemples de code
Consultez nos exemples de code pour certaines fonctions courantes de l'API Google Ads.