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. Dienstkonten verwenden einen OAuth 2.0-Vorgang, für den keine Autorisierung durch einen Nutzer 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 in einem Konfigurationsschritt über die Autorisierungs- und Kontoverwaltungsfunktionen der Google Ads-Benutzeroberfläche. Das spart Entwicklern Arbeit, da sie keine OAuth 2.0-Vorgänge 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 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 mit 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 die Schaltfläche +.
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 Zugriffsebenen „E-Mail“ und „Administrator“ werden für Dienstkonten nicht unterstützt.
Dem Dienstkonto wird Zugriff gewährt.
Clientbibliothek konfigurieren
Wählen Sie den Tab für Ihre Programmiersprache aus, um eine Anleitung zum Konfigurieren der Clientbibliothek zu erhalten.
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 = "PATH_TO_JSON_SECRETS_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 ein 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 im Konfigurationsleitfaden.
; 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 den JSON-Pfad des privaten Schlüssels und die ID des delegierten Kontos 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
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 Methode GoogleAdsService.SearchStream
ausführen, 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"
}