Autorisierung und HTTP-Header

Sie benötigen OAuth 2.0-Anmeldedaten, wenn Sie die Google Ads API aufrufen. Wenn Sie API-Aufrufe mit einem Google Ads-Verwaltungskonto ausführen, müssen Sie auch einen login-customer-id-Header in jeder Anfrage angeben. Auf dieser Seite wird beschrieben, wie Sie diese Werte festlegen. Außerdem werden mehrere zusätzliche API-spezifische HTTP-Header dokumentiert, die beim Verwenden der REST-Schnittstelle gesendet und empfangen werden.

OAuth 2.0-Anmeldedaten

Bei der Google Ads API wird OAuth 2.0 zur Autorisierung von API-Anfragen verwendet. Sowohl der OAuth 2.0-Nutzerauthentifizierungsablauf als auch der Dienstkontoablauf werden unterstützt. Weitere Informationen finden Sie unter OAuth 2.0 in der Google Ads API.

Wenn Sie noch nicht mit Google APIs vertraut sind, können Sie die gcloud-Befehlszeile oder den OAuth 2.0 Playground verwenden, um mit OAuth 2.0-Anmeldedaten und der Google Ads API zu experimentieren, bevor Sie Code für Ihre App schreiben.

Wir empfehlen, eine der unter https://oauth.net/code/ verfügbaren OAuth 2.0-Bibliotheken zu verwenden, um die OAuth 2.0-Autorisierungsvorgänge zu implementieren. Wir haben die curl-Anleitung jedoch aufgeführt, falls Sie sie selbst implementieren müssen.

Dienstkonten

Konfigurieren Sie ein Google Cloud-Projekt für die Google Ads API. Notieren Sie sich die E-Mail-Adresse des Dienstkontos und den Dienstkontoschlüssel. Folgen Sie dann der allgemeinen Anleitung im Leitfaden Dienstkonten, um das Dienstkonto für den Zugriff auf Ihr Google Ads-Konto einzurichten.

Nutzerauthentifizierung

Folgen Sie der Anleitung, um ein Google Cloud Console-Projekt für die Google Ads API zu konfigurieren. Notieren Sie sich die Client-ID und den Clientschlüssel. Folgen Sie dann der Anleitung für Desktop-Apps oder der Anleitung für Web-Apps, um ein Aktualisierungstoken und ein Zugriffstoken zu generieren. Die scope, die für den Zugriff auf die Google Ads API verwendet werden soll, ist https://www.googleapis.com/auth/adwords.

Neue Zugriffstokens generieren

Dienstkonten

Wenn Sie die E-Mail-Adresse des Dienstkontos und den Dienstkontoschlüssel haben, folgen Sie der Anleitung OAuth 2.0 für Server-zu-Server-Anwendungen verwenden, um einen JWT-Anspruchssatz zu generieren, der dann gegen ein OAuth 2.0-Zugriffstoken eingetauscht werden kann. Achten Sie darauf, dass Sie beim Folgen der Anleitung den Tab HTTP/REST auswählen. Das OAuth 2.0-scope für den Zugriff auf die Google Ads API ist https://www.googleapis.com/auth/adwords. Außerdem können Sie den Parameter sub beim Erstellen des JWT-Anspruchssatzes weglassen, da das Dienstkonto durch die Einrichtungsschritte direkten Zugriff auf das Google Ads-Konto erhält. So ist es nicht erforderlich, die Identität eines Google Ads-Nutzers anzunehmen.

Anschließend verwenden Sie das Zugriffstoken im Authorization-HTTP-Header jedes API-Aufrufs an die Google Ads API:

GET /v25/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Nutzerauthentifizierung

Sobald Sie eine OAuth 2.0-Client-ID, einen Clientschlüssel und ein Aktualisierungstoken haben, können Sie mit dem Befehlszeilentool curl ein neues Zugriffstoken für die Verwendung in API-Aufrufen generieren:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

Das von der curl-Anfrage zurückgegebene Zugriffstoken verwenden Sie dann im HTTP-Header Authorization jedes API-Aufrufs der Google Ads API:

GET /v25/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Anfrageheader

In den folgenden Abschnitten werden die HTTP-Header beschrieben, die für Anfragen an die Google Ads API erforderlich sind oder verwendet werden.

Kundennummer für die Anmeldung

Für Google Ads API-Aufrufe, die von einem Verwaltungskonto an ein Kundenkonto gesendet werden (d. h. wenn Sie sich als Verwaltungskonto anmelden, um API-Aufrufe an eines der Kundenkonten zu senden), müssen Sie auch den login-customer-id-HTTP-Header angeben. Dieser Wert steht für die Google Ads-Kundennummer des Verwaltungskontos, mit dem der API-Aufruf erfolgt.

Wenn Sie diesen Header einfügen, entspricht das der Auswahl eines Kontos in der Google Ads-Benutzeroberfläche nach der Anmeldung oder dem Klicken auf Ihr Profilbild oben rechts auf der Seite. Achten Sie darauf, dass Sie beim Angeben der Kundennummer alle Bindestriche (–) entfernen, z. B. 1234567890 statt 123-456-7890. Weitere Informationen zur Anmelde-Kundennummer finden Sie im Google Ads-Zugriffsmodell.

GET /v25/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

Verknüpfte Kundennummer

Die Kopfzeile „Verknüpfte Kundennummer“ wird von Partnern (z. B. Drittanbieter-App-Analysetools oder Datenpartnern) verwendet, wenn sie auf ein verknüpftes Google Ads-Konto zugreifen. Weitere Informationen finden Sie im Leitfaden zur Struktur von API-Aufrufen.

Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

Antwortheader

Die folgenden Header werden in HTTP-Antworten von der API zurückgegeben.

Anfrage-ID

Die request-id ist ein String, der die API-Anfrage eindeutig identifiziert. Bei der Fehlerbehebung bei Problemen mit bestimmten API-Aufrufen ist die request-id ein wichtiger Bezeichner, den Sie bei der Kontaktaufnahme mit dem Google-Entwicklersupport zur Hand haben sollten.

request-id: 2a5Cj89VV7CNhya1DZjjrC