Schnelleinstieg

In dieser Kurzanleitung erfahren Sie, wie Sie Ihren ersten API-Aufruf an die Google Ads API senden.

Wichtige Konzepte

  • Entwicklertoken: Ein Entwicklertoken ist eine alphanumerische Zeichenfolge mit 22 Zeichen, mit der Ihre App auf den Google Ads API-Servern identifiziert wird. Er ist für API-Aufrufe erforderlich.
  • API-Zugriffsebene:Die API-Zugriffsebene Ihres Entwicklertokens bestimmt die Anzahl der API-Aufrufe, die Sie pro Tag ausführen können, und die Umgebungen, an die Sie API-Aufrufe senden können.
  • Google Ads-Verwaltungskonto:Ein Google Ads-Verwaltungskonto wird verwendet, um andere Google Ads-Konten zu verwalten. Mit einem Google Ads-Verwaltungskonto lassen sich Google Ads-Kundenkonten oder andere Google Ads-Verwaltungskonten verwalten. Sie benötigen ein Google Ads-Verwaltungskonto, um ein Entwickler-Token zu erhalten.
  • Google Ads-Kundenkonto:Das Google Ads-Konto, für das Sie API-Aufrufe ausführen.
  • Kundennummer des Kunden:Die zehnstellige Nummer, mit der ein Google Ads-Kundenkonto identifiziert wird.
  • OAuth 2.0:OAuth 2.0 ist ein Branchenstandardprotokoll für die Autorisierung, das von allen Google APIs verwendet wird. Sie benötigen ein Dienstkonto und einen Schlüssel, um OAuth 2.0-Anmeldedaten für API-Aufrufe zu generieren.
  • Google Cloud-Projekt:Ein Google Cloud-Projekt bildet die Grundlage für das Erstellen, Aktivieren und Verwenden aller Google-Dienste, einschließlich der Verwaltung von APIs und OAuth 2.0-API-Anmeldedaten. Sie können ein Projekt in der Google Cloud Console erstellen.
  • Dienstkonto:Eine spezielle Art von Google-Konto, das zu Ihrer Anwendung und nicht zu einem bestimmten Nutzer gehört. Damit wird Ihre Anwendung für die Google Ads API authentifiziert. Sie benötigen ein Google Cloud-Projekt, um ein Dienstkonto zu erhalten.
  • Dienstkontoschlüssel:Eine JSON-Datei mit Anmeldedaten für die App, die den privaten Schlüssel für Ihr Dienstkonto enthält. Damit werden OAuth 2.0-Anmeldedaten generiert, um ein Dienstkonto bei einem Google Ads API-Aufruf zu authentifizieren. Sie benötigen ein Dienstkonto, um einen Dienstkontoschlüssel zu erhalten.

Vorbereitung

So führen Sie einen Google Ads API-Aufruf aus:

Entwicklertoken abrufen

Wenn Sie sich in der Vergangenheit für ein Entwickler-Token registriert haben, können Sie es im API-Center finden, wenn Sie in Ihrem Google Ads-Verwaltungskonto angemeldet sind.

Auf API Center zugreifen

Wenn Sie noch kein Entwickler-Token haben, können Sie sich im API Center dafür registrieren.

Entwicklertoken beantragen

  1. Rufen Sie in Ihrem Webbrowser das API-Center auf. Melden Sie sich in Ihrem Google Ads-Verwaltungskonto an, wenn Sie dazu aufgefordert werden. Erstellen Sie ein Google Ads-Verwaltungskonto, falls Sie noch keins haben.
  2. Füllen Sie das Formular für den API-Zugriff aus und akzeptieren Sie die Nutzungsbedingungen.
    • Prüfen Sie, ob Ihre Angaben korrekt sind und die Website-URL Ihres Unternehmens funktioniert. Wenn die Website nicht aktiv ist, kann Google Ihren Antrag möglicherweise nicht bearbeiten und lehnt ihn ab.
    • Die E-Mail-Adresse des API-Kontakts, die Sie angeben, muss zu einem Posteingang führen, der regelmäßig überprüft wird. Das API-Compliance-Team von Google wendet sich während des Überprüfungsprozesses möglicherweise an diese E-Mail-Adresse, um weitere Informationen zu erhalten. Wenn Sie nicht erreichbar sind, wird Ihre Bewerbung möglicherweise nicht fortgesetzt.
    • Sie können die E-Mail-Adresse für API-Kontakt in der API-Zentrale bearbeiten. Halten Sie diese Informationen auch nach dem Bewerbungsprozess auf dem neuesten Stand, damit Google Ihnen wichtige Servicemitteilungen senden kann.

Nachdem Sie den Antragsprozess abgeschlossen haben, wird das Entwicklertoken mit dem Status Genehmigung ausstehend im API-Center angezeigt. Ihr Entwicklertoken hat jetzt die Zugriffsebene Zugriff auf das Testkonto.

Google API Console-Projekt konfigurieren

Das Google API Console-Projekt wird zum Verwalten von Google APIs und OAuth 2.0-API-Anmeldedaten verwendet. Sie können Ihre vorhandenen Google API Console-Projekte aufrufen oder ein neues Projekt erstellen, indem Sie die Google API Console aufrufen.

Google API Console öffnen

Aktivieren Sie zuerst die Google Ads API in Ihrem Projekt:

Google Ads API aktivieren

Als Nächstes benötigen Sie ein Dienstkonto und einen Dienstkontoschlüssel, um API-Aufrufe auszuführen. Wenn Sie bereits eine andere Google-API verwenden und ein OAuth 2.0-Dienstkonto und einen Schlüssel erstellt haben, können Sie diesen Schritt überspringen und die vorhandenen Anmeldedaten wiederverwenden.

Dienstkonto und Schlüssel erstellen

  1. Rufen Sie in der Google Cloud Console das Menü  > IAM & Verwaltung > Dienstkonten auf.

    Zur Seite „Dienstkonten“

  2. Wählen Sie Ihr Dienstkonto aus.
  3. Klicken Sie auf Schlüssel > Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  4. Wählen Sie JSON aus und klicken Sie auf Erstellen.

    Ihr neues öffentliches/privates Schlüsselpaar wird generiert und als neue Datei auf Ihren Computer heruntergeladen. Speichern Sie die heruntergeladene JSON-Datei als credentials.json in Ihrem Arbeitsverzeichnis. Diese Datei ist die einzige Kopie dieses Schlüssels.

  5. Klicken Sie auf Schließen.

Identifizieren Sie zuerst das Google Ads-Konto, für das Sie API-Aufrufe ausführen. Der Kontotyp, für den Sie API-Aufrufe starten können, hängt vom API-Zugriffsniveau Ihres Entwickler-Tokens ab. Sehen Sie in Ihrem API-Center nach, welche API-Zugriffsebene Sie haben.

Basis- und Standardzugriff

Sie können Aufrufe an Ihr Google Ads-Produktionskonto senden. Bei Bedarf können Sie jedoch ein Google Ads-Testkonto erstellen. Folgen Sie dazu der Anleitung auf dem Tab Test Account Access (Zugriff auf Testkonto).

Testkontozugriff

Ihr Entwicklertoken kann nicht für API-Aufrufe an ein Google Ads-Produktionskonto verwendet werden. Sie können API-Aufrufe nur für Google Ads-Testkonten ausführen.

Google Ads-Testkonto erstellen

Mit der folgenden Anleitung erstellen Sie ein Google Ads-Testverwaltungskonto und ein Google Ads-Testkonto für Werbetreibende.

  1. Klicken Sie auf die blaue Schaltfläche, um ein Google Ads-Testverwaltungskonto zu erstellen. Melden Sie sich mit einem Google-Konto an, das nicht mit Ihrem Google Ads-Produktionsverwaltungskonto verknüpft ist, wenn Sie dazu aufgefordert werden. Falls Sie noch keines haben, können Sie auf dieser Seite mit der Schaltfläche Konto erstellen ein neues Google-Konto erstellen.

    Google Ads-Testverwaltungskonto erstellen

  2. Erstellen Sie in Ihrem Google Ads-Testverwaltungskonto ein Google Ads-Testkundenkonto: Klicken Sie auf Konten > > Neues Konto erstellen und füllen Sie das Formular aus. Alle Google Ads-Konten, die Sie über Ihr Google Ads-Testverwaltungskonto erstellen, sind automatisch Google Ads-Testkonten.
  3. Optional können Sie über die Google Ads-Seite einige Kampagnen im Google Ads-Testkundenkonto erstellen.

Wenn Sie einen API-Aufruf an einen Google Ads-Kunden senden möchten, müssen Sie Ihrem Dienstkonto Zugriff auf das Google Ads-Kundenkonto gewähren und ihm die entsprechenden Berechtigungen erteilen. Dazu benötigen Sie Administratorzugriff auf das Kundenkonto.

Dienstkonto Zugriff auf Ihr Google Ads-Konto gewähren

  1. Melden Sie sich zuerst als Administrator in Ihrem Google Ads-Konto an.
  2. Klicken Sie auf Verwaltung > Zugriff und Sicherheit.
  3. Klicken Sie auf dem Tab Nutzer auf die Schaltfläche .
  4. Geben Sie die E-Mail-Adresse des Dienstkontos in das Eingabefeld E-Mail ein. Wählen Sie die entsprechende Kontozugriffsebene aus und klicken Sie auf die Schaltfläche Konto hinzufügen. Die Zugriffsebene „E-Mail“ wird für Dienstkonten nicht unterstützt.
  5. Dem Dienstkonto wird Zugriff gewährt.
  6. [Optional] Standardmäßig können Sie einem Dienstkonto keinen Administratorzugriff gewähren. Wenn für Ihre API-Aufrufe Administratorzugriff erforderlich ist, können Sie den Zugriff so upgraden:
    1. Klicken Sie in der Spalte Zugriffsebene auf den Drop-down-Pfeil neben der Zugriffsebene des Dienstkontos.
    2. Wählen Sie in der Drop-down-Liste Administrator aus.

Tools und Clientbibliotheken herunterladen

Je nachdem, wie Sie API-Aufrufe ausführen möchten, können Sie entweder eine Clientbibliothek oder einen HTTP-Client herunterladen.

Clientbibliothek verwenden

Laden Sie eine Clientbibliothek Ihrer Wahl herunter und installieren Sie sie.

HTTP-Client (REST) verwenden

curl

Laden Sie curl herunter und installieren Sie es. Das ist das Befehlszeilentool zum Übertragen von Daten über eine URL.

Google Cloud CLI

Folgen Sie der Anleitung, um die gcloud CLI zu installieren.

Die Anleitungen im restlichen Teil dieses Leitfadens wurden mit der folgenden Version des gcloud-Tools getestet und funktionieren möglicherweise nicht mit früheren Versionen, da sich das Verhalten der Anwendung oder die Befehlszeilenoptionen unterscheiden.

:~$ gcloud version
Google Cloud SDK 492.0.0
alpha 2024.09.06
beta 2024.09.06
bq 2.1.8
bundled-python3-unix 3.11.9
core 2024.09.06
enterprise-certificate-proxy 0.3.2
gcloud-crc32c 1.0.0
gsutil 5.30

API aufrufen

Wählen Sie Ihren bevorzugten Client aus, um eine Anleitung zum Senden eines API-Aufrufs zu erhalten:

Java

Die Clientbibliotheksartefakte werden im zentralen Maven-Repository veröffentlicht. Fügen Sie die Clientbibliothek als Abhängigkeit in Ihr Projekt ein:

Die Maven-Abhängigkeit lautet:

<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
  <version>40.0.0</version>
</dependency>

Die Gradle-Abhängigkeit lautet:

implementation 'com.google.api-ads:google-ads:40.0.0'
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

So erstellen Sie ein GoogleAdsClient-Objekt:

GoogleAdsClient googleAdsClient = null;
try {
  googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (FileNotFoundException fnfe) {
  System.err.printf(
      "Failed to load GoogleAdsClient configuration from file. Exception: %s%n",
      fnfe);
  System.exit(1);
} catch (IOException ioe) {
  System.err.printf("Failed to create GoogleAdsClient. Exception: %s%n", ioe);
  System.exit(1);
}

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

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#

Die Clientbibliotheks-Pakete werden im Nuget.org-Repository veröffentlicht. Fügen Sie zuerst einen NuGet-Verweis auf das Google.Ads.GoogleAds-Paket hinzu.

dotnet add package Google.Ads.GoogleAds --version 18.1.0

Erstellen Sie ein GoogleAdsConfig-Objekt mit den relevanten Einstellungen und verwenden Sie es, um ein GoogleAdsClient-Objekt zu erstellen.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
    LoginCustomerId = ******
};
GoogleAdsClient client = new GoogleAdsClient(config);

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

public void Run(GoogleAdsClient client, long customerId)
{
    // Get the GoogleAdsService.
    GoogleAdsServiceClient googleAdsService = client.GetService(
        Services.V21.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

Die Clientbibliotheks-Pakete werden im Packagist-Repository veröffentlicht. Wechseln Sie in das Stammverzeichnis Ihres Projekts und führen Sie den folgenden Befehl aus, um die Bibliothek und alle ihre Abhängigkeiten im Verzeichnis vendor/ des Stammverzeichnisses Ihres Projekts zu installieren.

composer require googleads/google-ads-php:31.0.0

Erstellen Sie eine Kopie der Datei google_ads_php.ini aus dem GitHub-Repository und fügen Sie Ihre Anmeldedaten ein.

[GOOGLE_ADS]
developerToken = "INSERT_DEVELOPER_TOKEN_HERE"
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"

[OAUTH2]
jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
scopes = "https://www.googleapis.com/auth/adwords"

Erstellen Sie eine Instanz des GoogleAdsClient-Objekts.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

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

Die Clientbibliothek wird auf PyPI verteilt und kann mit dem Befehl pip so installiert werden:

python -m pip install google-ads==21.3.0

Erstellen Sie eine Kopie der Datei google-ads.yaml aus dem GitHub-Repository und fügen Sie Ihre Anmeldedaten ein.

developer_token: INSERT_DEVELOPER_TOKEN_HERE
login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
json_key_file_path: JSON_KEY_FILE_PATH_HERE

Erstellen Sie eine GoogleAdsClient-Instanz, indem Sie die Methode GoogleAdsClient.load_from_storage aufrufen. Übergeben Sie den Pfad zu Ihrem google-ads.yaml als String an die Methode, wenn Sie sie aufrufen:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

Fügen Sie dem Logger der Bibliothek einen Handler hinzu, der angibt, wo Logs ausgegeben werden sollen. Damit wird der Logger der Bibliothek angewiesen, die Ausgabe in der Konsole auszugeben (stdout).

import logging
import sys

logger = logging.getLogger('google.ads.googleads.client')
logger.addHandler(logging.StreamHandler(sys.stdout))

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

def main(client: GoogleAdsClient, customer_id: str) -> None:
    ga_service: GoogleAdsServiceClient = client.get_service("GoogleAdsService")

    query: str = """
        SELECT
          campaign.id,
          campaign.name
        FROM campaign
        ORDER BY campaign.id"""

    # Issues a search request using streaming.
    stream: Iterator[SearchGoogleAdsStreamResponse] = ga_service.search_stream(
        customer_id=customer_id, query=query
    )

    for batch in stream:
        rows: List[GoogleAdsRow] = batch.results
        for row in rows:
            print(
                f"Campaign with ID {row.campaign.id} and name "
                f'"{row.campaign.name}" was found.'
            )

Ruby

Die Ruby-Gems für die Clientbibliothek werden auf der Rubygems-Gem-Hosting-Website veröffentlicht. Die empfohlene Installationsmethode ist die Verwendung von Bundler. Fügen Sie Ihrem Gemfile eine Zeile hinzu:

gem 'google-ads-googleads', '~> 35.2.0'

Führen Sie dann diesen Befehl aus:

bundle install

Erstellen Sie eine Kopie der Datei google_ads_config.rb aus dem GitHub-Repository und fügen Sie Ihre Anmeldedaten ein.

Google::Ads::GoogleAds::Config.new do |c|
  c.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
  c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  c.keyfile = 'JSON_KEY_FILE_PATH'
end

Erstellen Sie eine GoogleAdsClient-Instanz, indem Sie den Pfad zu dem Speicherort dieser Datei übergeben.

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/google_ads_config.rb')

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

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

Die Bibliothek wird über CPAN verteilt. Klonen Sie zuerst das google-ads-perl-Repository im Verzeichnis Ihrer Wahl.

git clone https://github.com/googleads/google-ads-perl.git

Wechseln Sie in das Verzeichnis google-ads-perl und führen Sie den folgenden Befehl an der Eingabeaufforderung aus, um alle für die Verwendung der Bibliothek erforderlichen Abhängigkeiten zu installieren.

cd google-ads-perl
cpan install Module::Build
perl Build.PL
perl Build installdeps

Erstellen Sie eine Kopie der Datei googleads.properties aus dem GitHub-Repository und fügen Sie Ihre Anmeldedaten ein.

jsonKeyFilePath=JSON_KEY_FILE_PATH
developerToken=INSERT_DEVELOPER_TOKEN_HERE
loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

Erstellen Sie eine Client-Instanz, indem Sie den Pfad zum Speicherort dieser Datei übergeben.

my $properties_file = "/path/to/googleads.properties";

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => $properties_file
});

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

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

curl

Legen Sie zuerst das Dienstkonto als aktive Anmeldedaten in der gcloud CLI fest.

gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON

Rufen Sie als Nächstes ein OAuth 2.0-Zugriffstoken für die Google Ads API ab.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

Als Nächstes rufen Sie mit der Methode GoogleAdsService.SearchStream einen Kampagnenbericht ab, um die Kampagnen in Ihrem Konto abzurufen. Details zum Erstellen von Berichten werden in diesem Leitfaden nicht behandelt.

curl -i -X POST https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/googleAds:searchStream \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   -H "developer-token: DEVELOPER_TOKEN" \
   -H "login-customer-id: LOGIN_CUSTOMER_ID" \
   --data-binary "@query.json"

Der Inhalt von query.json sieht so aus:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}