Bibliothèques clientes

Nos bibliothèques clientes fournissent des vues d'ensemble et des éléments de base l'API Google Ads pour développer rapidement des applications. Nous vous recommandons 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 quelles bibliothèques clientes fonctionnent avec quelles versions d'API.

Java

Bibliothèque cliente pour Java
v17 Min: 32.0.0
Max:
v16 Min: 30.0.0
Max:
v15 Min: 28.0.0
Max:

C#

Bibliothèque cliente pour .NET
v17 Min: 20.1.0
Max:
v16 Min: 18.1.0
Max:
v15 Min: 17.1.0
Max:

PHP

Bibliothèque cliente pour PHP
v17 Min: 23.1.0
Max:
v16 Min: 22.1.0
Max:
v15 Min: 21.1.0
Max:

Python

Bibliothèque cliente pour Python
v17 Min: 24.1.0
Max:
v16 Min: 23.1.0
Max:
v15 Min: 22.1.0
Max:

Ruby

Bibliothèque cliente pour Ruby
v17 Min: 29.0.0
Max:
v16 Min: 27.0.0
Max:
v15 Min: 25.0.0
Max:

Perl

Bibliothèque cliente pour Perl
v17 Min: 23.0.0
Max:
v16 Min: 21.0.0
Max:
v15 Min: 19.0.0
Max:

Configuration

Chaque bibliothèque cliente de l'API Ads fournit des paramètres de configuration et des que vous pouvez utiliser pour personnaliser son comportement.

Voici les variables d'environnement communes à toutes les bibliothèques clientes qui peut être chargé pour définir les paramètres de configuration:

  • Bibliothèque cliente <ph type="x-smartling-placeholder">
      </ph>
    • GOOGLE_ADS_CONFIGURATION_FILE_PATH: chemin d'accès au fichier de configuration.
  • OAuth2 <ph type="x-smartling-placeholder">
      </ph>
    • Mode Application <ph type="x-smartling-placeholder">
        </ph>
      • 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 <ph type="x-smartling-placeholder">
        </ph>
      • GOOGLE_ADS_JSON_KEY_FILE_PATH : définissez cette valeur sur la configuration JSON OAuth2. chemin d'accès au fichier.
      • GOOGLE_ADS_IMPERSONATED_EMAIL : définissez cette valeur sur l'adresse e-mail du compte auquel vous êtes connecté.
  • API Google Ads <ph type="x-smartling-placeholder">
      </ph>
    • 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 le ressources d'une entité lorsqu'elles y sont autorisées via des comptes associés dans Interface utilisateur Google Ads (ressource AccountLink dans l'API Google Ads) Définir cette valeur par l'ID client du fournisseur de données qui met à jour les ressources du le numéro client spécifié. Il doit être défini sans trait d'union (-). 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 que en tant que 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 .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 la ligne de commande:

export GOOGLE_ADS_CLIENT_ID=1234567890

Une autre solution consiste à définir des variables d'environnement lors de l'appel de 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ées dans les applications interactives qui affichent des pages de résultats.

Notre bibliothèque cliente implémente automatiquement pagination lorsque vous itérez les résultats, afin que vous puissiez de manière séquentielle et en une seule fois, 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.V17.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::V17::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;
}
      

Selon le cas d'utilisation, vous devrez peut-être:

  • Optimisez le nombre de pages à extraire.
  • Optimisez la quantité de résultats pouvant être stockés simultanément.
  • Téléchargez et traitez des pages de résultats dans un ordre particulier.

Pour ce faire, stockez les jetons de page au lieu des résultats, ce qui ajoute rendre votre code plus complexe.

Exemples de code

Consultez nos exemples de code de certaines fonctions courantes du API Google Ads.