In diesem Leitfaden wird beschrieben, wie Sie mit Dienstkonten auf die Google Ads API zugreifen.
Ein Dienstkonto ist ein Konto, das zu Ihrer App und nicht zu einem einzelnen Endnutzer gehört. Für Dienstkonten wird ein OAuth 2.0-Vorgang verwendet, für den keine Autorisierung durch eine Person erforderlich ist. Stattdessen wird eine Schlüsseldatei verwendet, auf die nur Ihre App zugreifen kann.
Dienstkonten haben zwei wesentliche Vorteile:
Die Autorisierung für den Google Ads API-Zugriff auf Google Ads-Konten erfolgt als Konfigurationsschritt über die Autorisierungs- und Kontoverwaltungsfunktionen der Google Ads-Benutzeroberfläche. So sparen Entwickler Zeit, da sie keine OAuth 2.0-Vorgänge erstellen und sich nicht mit Komplikationen befassen müssen, die Nutzerinteraktionen, das Speichern von Nutzeranmeldedaten und die Tokenverwaltung betreffen.
Die Autorisierung für den Zugriff auf Google Ads-Konten ist nicht an die Anmeldedaten einzelner Nutzer gebunden. Das kann nützlich sein, wenn 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
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.
Melden Sie sich als Administrator in Ihrem Google Ads-Konto an. Rufen Sie Verwaltung > Zugriff und Sicherheit auf.
Klicken Sie auf dem Tab Nutzer auf den Button +.
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 (Dienstkonten unterstützen nicht die Zugriffsebene Nur E-Mail) und klicken Sie auf die Schaltfläche Konto hinzufügen.
Dem Dienstkonto wird Zugriff gewährt.
Optional:Standardmäßig können Sie einem Dienstkonto keinen Administratorzugriff gewähren. Halten Sie sich an das Prinzip der geringsten Berechtigung und gewähren Sie Administratorzugriff nur, wenn Ihre API-Aufrufe dies erfordern. So können Sie den Zugriff upgraden:
- 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.
Clientbibliotheken konfigurieren
Wählen Sie den Tab für Ihre Programmiersprache aus, um eine Anleitung zum Konfigurieren der Clientbibliothek zu erhalten. Wenn Ihr Dienstkonto über ein Google Ads-Verwaltungskonto auf Kundenkonten zugreift, legen Sie login-customer-id (oder loginCustomerId) auf die 10-stellige Kundennummer dieses Verwaltungskontos ohne Bindestriche fest (siehe Kundennummer für die Anmeldung).
Java
Legen Sie den JSON-Pfad für den privaten Schlüssel in Ihrer Konfiguration fest. Wenn Sie eine ads.properties-Datei verwenden, fügen Sie Folgendes hinzu:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
Weitere Informationen finden Sie im Konfigurationsleitfaden.
.NET
Legen Sie OAuth2Mode und OAuth2SecretsJsonPath für die GoogleAdsConfig-Instanz fest und verwenden Sie sie, um das GoogleAdsClient-Objekt zu initialisieren.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
// ...
};
GoogleAdsClient client = new GoogleAdsClient(config);
Weitere Informationen finden Sie im Konfigurationsleitfaden.
Python
Legen Sie den JSON-Pfad für den privaten Schlüssel in Ihrer Konfiguration fest. Wenn Sie eine google-ads.yaml-Datei, einen YAML-String oder 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
Weitere Informationen finden Sie im Konfigurationsleitfaden.
PHP
Konfigurieren Sie die folgenden Schlüssel in der Datei google_ads_php.ini.
[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
Weitere Informationen finden Sie im Konfigurationsleitfaden.
Ruby
Konfigurieren Sie die folgenden Schlüssel in Ihrer google_ads_config.rb.
c.keyfile = 'JSON_KEY_FILE_PATH'
Weitere Informationen finden Sie im Konfigurationsleitfaden.
Perl
Legen Sie den JSON-Pfad für den privaten Schlüssel in Ihrer Konfiguration 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
Weitere Informationen finden Sie im Konfigurationsleitfaden.
curl
Legen Sie zuerst das Dienstkonto als aktive Anmeldedaten in der gcloud CLI fest.
gcloud auth login --cred-file=JSON_KEY_FILE_PATHRufen 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 Methode GoogleAdsService.SearchStream ausführen, um die Kampagnen in Ihrem Konto abzurufen. In diesem Leitfaden werden die Details der Berichterstellung nicht behandelt.
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 "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"Der Inhalt von query.json ist wie folgt:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}