Clientbibliotheken

Unsere Client-Bibliotheken bieten einen groben Überblick und die Grundbausteine Google Ads API-Funktionen, mit denen sich Apps schneller entwickeln lassen. Wir empfehlen, wenn Sie mit der API noch nicht vertraut sind.

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

Unterstützte API-Versionen

Die Tabelle zeigt, welche Clientbibliotheken mit welchen API-Versionen funktionieren.

Java

Clientbibliothek für Java
v17 Min:, 32.0.0 und
Max:
v16 Min:, 30.0.0 und
Max:
v15 Min:, 28.0.0 und
Max:

C#

Clientbibliothek für .NET
v17 Min:, 20.1.0 und
Max:
v16 Min:, 18.1.0 und
Max:
v15 Min:, 17.1.0 und
Max:

PHP

Clientbibliothek für PHP
v17 Min:, 23.1.0 und
Max:
v16 Min:, 22.1.0 und
Max:
v15 Min:, 21.1.0 und
Max:

Python

Clientbibliothek für Python
v17 Min:, 24.1.0 und
Max:
v16 Min:, 23.1.0 und
Max:
v15 Min:, 22.1.0 und
Max:

Ruby

Clientbibliothek für Ruby
v17 Min:, 29.0.0 und
Max:
v16 Min:, 27.0.0 und
Max:
v15 Min:, 25.0.0 und
Max:

Perl

Clientbibliothek für Perl
v17 Min:, 23.0.0 und
Max:
v16 Min:, 21.0.0 und
Max:
v15 Min:, 19.0.0 und
Max:

Konfiguration

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

Die folgenden Umgebungsvariablen, die für alle Clientbibliotheken gelten, das geladen werden kann, um Konfigurationseinstellungen festzulegen:

  • Clientbibliothek <ph type="x-smartling-placeholder">
      </ph>
    • GOOGLE_ADS_CONFIGURATION_FILE_PATH: Pfad zur Konfigurationsdatei.
  • OAuth2 <ph type="x-smartling-placeholder">
      </ph>
    • Anwendungsmodus <ph type="x-smartling-placeholder">
        </ph>
      • GOOGLE_ADS_CLIENT_ID : Lege hier deine OAuth2-Client-ID fest.
      • GOOGLE_ADS_CLIENT_SECRET : Legen Sie hier Ihren OAuth2-Clientschlüssel fest.
      • GOOGLE_ADS_REFRESH_TOKEN : Legen Sie für diesen Wert ein vorab generiertes OAuth2-Aktualisierungstoken fest. wenn Sie OAuth2-Tokens wiederverwenden möchten. Diese Einstellung ist optional.
    • Dienstkontomodus <ph type="x-smartling-placeholder">
        </ph>
      • GOOGLE_ADS_JSON_KEY_FILE_PATH : Legen Sie diesen Wert auf die OAuth2-JSON-Konfiguration fest. Dateipfad.
      • GOOGLE_ADS_IMPERSONATED_EMAIL : Legen Sie als Wert die E-Mail-Adresse des Konto, das Sie imitieren.
  • Google Ads API <ph type="x-smartling-placeholder">
      </ph>
    • GOOGLE_ADS_DEVELOPER_TOKEN : Geben Sie hier Ihr Entwickler-Token an.
    • GOOGLE_ADS_LOGIN_CUSTOMER_ID : Kundennummer des autorisierten Kunden, der verwendet werden soll in der Anfrage ohne Bindestriche (-) enthalten.
    • GOOGLE_ADS_LINKED_CUSTOMER_ID : Dieser Header ist nur für Methoden erforderlich, mit denen die einer Entität, wenn über „Verknüpfte Konten“ in der Google Ads-Benutzeroberfläche (AccountLink-Ressource in der Google Ads API) Diesen Wert festlegen an die Kundennummer des Datenanbieters, der die Ressourcen der angegebene Kundennummer. Er sollte ohne Bindestriche (-) festgelegt werden. Weitere Informationen zu verknüpften Konten finden Sie in der Hilfe.

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

Hier sind einige grundlegende Schritte zum Definieren einer Umgebungsvariable mithilfe eines .bashrc-Objekts. 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 Ihrer Terminalinstanz der Befehlszeile:

export GOOGLE_ADS_CLIENT_ID=1234567890

Eine weitere Alternative besteht darin, beim Aufrufen des Befehls der sie verwendet:

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

Seitenumbruch für die Suche

GoogleAdsService.Search ist in der Regel die in interaktiven Apps verwendet werden, in denen Ergebnisseiten angezeigt werden.

Unsere Client-Bibliothek implementiert Paging beim Iterieren von Ergebnissen, sodass Sie nacheinander herunterladen und verarbeiten. Beispiele:

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

Je nach Anwendungsfall müssen Sie Folgendes tun:

  • Hier kannst du optimieren, wie viele Seiten abgerufen werden.
  • Sie können optimieren, wie viele Ergebnisse gleichzeitig gespeichert werden.
  • Laden Sie Ergebnisseiten in einer bestimmten Reihenfolge herunter und verarbeiten Sie sie.

Dies kann durch Speichern der Seitentokens anstelle von Ergebnissen erfolgen, wodurch Ihren Code komplexer machen.

Codebeispiele

Sehen Sie sich unsere Codebeispiele für einige gängige Funktionen in der Google Ads API