Workflow für Dienstkonten

In dieser Anleitung wird beschrieben, wie Sie mit Dienstkonten auf die Google Ads API zugreifen.

Ein Dienstkonto gehört Ihrer App und nicht einem einzelnen Endnutzer. Dienstkonten verwenden einen OAuth 2.0-Vorgang, der keine Autorisierung durch einen Nutzer erfordert. Stattdessen wird eine Schlüsseldatei verwendet, auf die nur Ihre App zugreifen kann.

Dienstkonten haben zwei wesentliche Vorteile:

  • Die Autorisierung für den Zugriff auf Google Ads-Konten über die Google Ads API erfolgt als Konfigurationsschritt. Dabei werden die Autorisierungs- und Kontoverwaltungsfunktionen der Google Ads-Benutzeroberfläche genutzt. So sparen Entwickler Zeit, da sie keine OAuth 2.0-Abläufe erstellen und sich nicht mit Komplikationen befassen müssen, die Nutzerinteraktionen, das Speichern von Nutzeranmeldedaten usw. mit sich bringen.

  • Die Autorisierung für den Zugriff auf Google Ads-Konten ist nicht an einzelne Nutzeranmeldedaten gebunden. Das kann in Fällen nützlich sein, in denen die Autorisierung auch dann fortgesetzt werden soll, wenn der Mitarbeiter, der den Zugriff ursprünglich autorisiert hat, das Team oder das Unternehmen verlässt.

Kontozugriff einrichten

  1. Erstellen Sie zuerst ein Dienstkonto und Anmeldedaten.

    Laden Sie den Dienstkontoschlüssel im JSON-Format herunter und notieren Sie sich die Dienstkonto-ID und die E-Mail-Adresse.

  2. Melden Sie sich als Administrator in Ihrem Google Ads-Konto an. Rufen Sie Verwaltung > Zugriff und Sicherheit auf.

  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 Zugriffsebene für das Konto aus und klicken Sie auf die Schaltfläche Konto hinzufügen.

  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 wie folgt aktualisieren.

    • Klicken Sie in der Spalte Zugriffsebene auf den Drop-down-Pfeil neben der Zugriffsebene des Dienstkontos.
    • Wählen Sie in der Drop-down-Liste Administrator aus.

Clientbibliothek konfigurieren

Wählen Sie den Tab für Ihre Programmiersprache aus, um eine Anleitung zum Konfigurieren Ihrer Clientbibliothek zu erhalten.

Java

Legen Sie in Ihrer Konfiguration den JSON-Pfad des privaten Schlüssels fest. Wenn Sie eine ads.properties-Datei verwenden, fügen Sie Folgendes hinzu:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

Weitere Informationen finden Sie in der Konfigurationsanleitung für zusätzliche Details.

.NET

Legen Sie OAuth2Mode und OAuth2SecretsJsonPath für die GoogleAdsConfig-Instanz fest und initialisieren Sie damit das GoogleAdsClient-Objekt.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
    ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

Weitere Informationen finden Sie in der Konfigurationsanleitung für zusätzliche Details.

Python

Legen Sie in Ihrer Konfiguration den JSON-Pfad des privaten Schlüssels fest. Wenn Sie eine google-ads.yaml file, einen YAML-String oder ein dict verwenden, fügen Sie Folgendes hinzu:

json_key_file_path: JSON_KEY_FILE_PATH

Wenn Sie Umgebungsvariablen verwenden, fügen Sie Ihrer Bash-Konfiguration oder -Umgebung Folgendes hinzu:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

PHP

Konfigurieren Sie die folgenden Schlüssel in Ihrer google_ads_php.ini. Weitere Informationen finden Sie in der Konfigurationsanleitung für zusätzliche Details.

; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Ruby

Konfigurieren Sie die folgenden Schlüssel in Ihrer google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'

Perl

Legen Sie in Ihrer Konfiguration den JSON-Pfad des privaten Schlüssels und die ID des delegierten Kontos fest. Wenn Sie eine googleads.properties-Datei verwenden, fügen Sie Folgendes hinzu:

jsonKeyFilePath=JSON_KEY_FILE_PATH

Wenn Sie Umgebungsvariablen verwenden, fügen Sie Ihrer Bash-Konfiguration oder -Umgebung Folgendes hinzu:

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

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'

Sie können das Zugriffstoken jetzt in Ihren API-Aufrufen verwenden. Im folgenden Beispiel wird gezeigt, wie Sie einen Kampagnenbericht mit der GoogleAdsService.SearchStream Methode ausführen, um die Kampagnen in Ihrem Konto abzurufen. Die Details zur Berichterstellung werden in dieser Anleitung nicht behandelt reporting.

curl -i -X POST https://googleads.googleapis.com/v25/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"
}