Clientbibliotheken

Unsere Clientbibliotheken bieten allgemeine Ansichten und grundlegende Bausteine der Google Ads API-Funktionen, sodass Sie Apps schneller entwickeln können. Wir empfehlen, mit einem zu beginnen, wenn Sie die API noch nicht kennen.

Clientbibliothek Quelle Vertrieb Codebeispiele
Java google-ads-java Maven, tar.gz Auf GitHub ansehen
.NET google-ads-dotnet nuget, tar.gz, zip Auf GitHub ansehen
PHP google-ads-php tar.gz Auf GitHub ansehen
Python google-ads-python tar.gz, zip Auf GitHub ansehen
Ruby google-ads-ruby gem, tar.gz, zip Auf GitHub ansehen
Perl google-ads-perl tar.gz, zip Auf GitHub ansehen

Community-Bibliotheken

Uns sind mehrere Bibliotheken bekannt, die von der Open-Source-Community gepflegt werden. Wir führen diese Liste, damit interessierte Entwickler sie leichter finden. Wir testen, beteiligen uns nicht an und pflegen diese Bibliotheken nicht. Verwenden Sie sie auf eigenes Risiko. Bei Fragen wenden Sie sich bitte an die Inhaber der Open-Source-Projekte.

Wenn Sie eine Bibliothek kennen, die wir nicht berücksichtigt haben, klicken Sie oben auf der Seite auf Feedback geben und teilen Sie uns dies mit.

Unterstützte API-Versionen

In der Tabelle sehen Sie, welche Clientbibliotheken mit welchen API-Versionen funktionieren.

Java

Clientbibliothek für Java
v18 Min: 34.0.0
Max: –
v17 Min: 32.0.0
Max: –
v16 Min: 30.0.0
Max: –

C#

Clientbibliothek für .NET
v18 Min: 21.1.0
Max: –
v17 Min: 20.1.0
Max: –
v16 Min: 18.1.0
Max: –

PHP

Clientbibliothek für PHP
v18 Min: 25.0.0
Max: –
v17 Min: 23.1.0
Max: –
v16 Min: 22.1.0
Max: –

Python

Clientbibliothek für Python
v18 Min: 25.1.0
Max: –
v17 Min: 24.1.0
Max: –
v16 Min: 23.1.0
Max: –

Ruby

Clientbibliothek für Ruby
v18 Min: 31.0.0
Max: –
v17 Min: 29.0.0
Max: –
v16 Min: 27.0.0
Max: –

Perl

Clientbibliothek für Perl
v18 Min: 25.0.1
Max: –
v17 Min: 23.0.0
Max: –
v16 Min: 21.0.0
Max: –

Konfiguration

Jede Ads API-Clientbibliothek bietet verschiedene Konfigurationseinstellungen und Lademethoden, mit denen Sie das Verhalten anpassen können.

Im Folgenden finden Sie die Umgebungsvariablen, die für alle Clientbibliotheken gemeinsam sind und die zum Festlegen von Konfigurationseinstellungen geladen werden können:

  • Clientbibliothek
    • GOOGLE_ADS_CONFIGURATION_FILE_PATH: Pfad zur Konfigurationsdatei.
  • OAuth2
    • Anwendungsmodus
      • GOOGLE_ADS_CLIENT_ID : Legen Sie für diesen Wert Ihre OAuth2-Client-ID fest.
      • GOOGLE_ADS_CLIENT_SECRET : Legen Sie für diesen Wert den OAuth2-Clientschlüssel fest.
      • GOOGLE_ADS_REFRESH_TOKEN : Legen Sie diesen Wert auf ein vorab generiertes OAuth2-Aktualisierungstoken fest, wenn Sie OAuth2-Tokens wiederverwenden möchten. Diese Einstellung ist optional.
    • Dienstkontomodus
      • GOOGLE_ADS_JSON_KEY_FILE_PATH : Legen Sie diesen Wert auf den Pfad zur OAuth2-JSON-Konfigurationsdatei fest.
      • GOOGLE_ADS_IMPERSONATED_EMAIL : Legen Sie für diesen Wert die E-Mail-Adresse des Kontos fest, dessen Identität Sie annehmen.
  • Google Ads API
    • GOOGLE_ADS_DEVELOPER_TOKEN : Geben Sie hier Ihr Entwicklertoken ein.
    • GOOGLE_ADS_LOGIN_CUSTOMER_ID : Die Kundennummer des autorisierten Kunden, die in der Anfrage verwendet werden soll, ohne Bindestriche (-).
    • GOOGLE_ADS_LINKED_CUSTOMER_ID : Dieser Header ist nur für Methoden erforderlich, die die Ressourcen einer Entität aktualisieren, wenn die Berechtigung über verknüpfte Konten in der Google Ads-Benutzeroberfläche erteilt wurde (AccountLink-Ressource in der Google Ads API). Legen Sie für diesen Wert die Kunden-ID des Datenanbieters fest, der die Ressourcen der angegebenen Kunden-ID aktualisiert. Es sollte ohne Bindestriche (-) festgelegt werden. Weitere Informationen zu verknüpften Konten finden Sie in der Hilfe.

Umgebungsvariablen werden in der Regel in einer Bash-Konfigurationsdatei wie einer .bashrc- oder .bash_profile-Datei im Verzeichnis $HOME definiert. Sie können auch über die Befehlszeile definiert werden.

So definieren Sie eine Umgebungsvariable mit einer .bashrc-Datei über ein 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

Umgebungsvariablen können auch direkt in der Terminalinstanz über die Befehlszeile festgelegt werden:

export GOOGLE_ADS_CLIENT_ID=1234567890

Eine weitere Möglichkeit besteht darin, Umgebungsvariablen beim Aufrufen des Befehls festzulegen, in dem sie verwendet werden:

GOOGLE_ADS_CLIENT_ID=1234567890 php /path/to/script/that/uses/envvar.php

Entitäten abrufen

GoogleAdsService.SearchStream wird in der Regel zum Abrufen von Entitäten verwendet. Die Ergebnisse werden als Zeilenstream zurückgegeben. Alternativ können Sie GoogleAdsService.Search verwenden, um Entitäten über eine unsichere Internetverbindung abzurufen. GoogleAdsService.Search gibt Ergebnisse mit einer festen Seitengröße von 10.000 Zeilen pro Seite zurück.

Unsere Clientbibliothek implementiert automatisch die Paginierung, wenn Sie die Ergebnisse iterieren, sodass Sie sie nacheinander herunterladen und gleichzeitig verarbeiten können.

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;
}
      

Codebeispiele

Hier finden Sie Codebeispiele für einige gängige Funktionen in der Google Ads API.