Autorisierung und HTTP-Header

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

OAuth 2.0-Anmeldedaten

Die Google Ads API verwendet OAuth 2.0 zur Autorisierung von API-Anfragen. 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 keine Erfahrung mit Google APIs haben, können Sie das gcloud-Befehlszeilentool 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 OAuth 2.0-Bibliotheken unter https://oauth.net/code/ zu verwenden, um die OAuth 2.0-Autorisierungs-Workflows zu implementieren. Wir haben jedoch die curl-Anleitung aufgeführt, falls Sie sie selbst implementieren müssen.

Dienstkonten

Folgen Sie der Anleitung zum Konfigurieren eines Google Cloud-Projekts für die Google Ads API. Notieren Sie sich die E-Mail-Adresse des Dienstkontos und den Dienstkontoschlüssel. Folgen Sie als Nächstes der allgemeinen Anleitung im Leitfaden zu Dienstkonten, um das Dienstkonto für den Zugriff auf Ihr Google Ads-Konto einzurichten.

Nutzerauthentifizierung

Folgen Sie der Anleitung zum Konfigurieren eines Google Cloud Console-Projekts für die Google Ads API. Notieren Sie sich die Client-ID und den Clientschlüssel. Folgen Sie dann der Anleitung für Desktop-Anwendungen oder der Anleitung für Webanwendungen, um ein Aktualisierungstoken und ein Zugriffstoken zu generieren. Der scope, der 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. Dieser kann dann gegen ein OAuth 2.0-Zugriffstoken eingetauscht werden. Achten Sie darauf, dass Sie den Tab HTTP/REST auswählen, während Sie der Anleitung folgen. 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 überspringen, da das Dienstkonto durch die Einrichtungsschritte direkten Zugriff auf das Google Ads-Konto erhält und Sie sich daher nicht als Google Ads-Nutzer ausgeben müssen.

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

GET /v26/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 curl-Befehlszeilentool ein neues Zugriffstoken für API-Aufrufe 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

Anschließend verwenden Sie das von der curl-Anfrage zurückgegebene Zugriffstoken im HTTP-Header Authorization jedes API-Aufrufs an die Google Ads API:

GET /v26/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 (also wenn Sie sich als Verwalter anmelden, um API-Aufrufe an eines Ihrer Kundenkonten zu senden), müssen Sie auch den HTTP-Header login-customer-id angeben. Dieser Wert stellt die Google Ads-Kundennummer des Verwaltungskontos dar, das den API-Aufruf ausführt.

Das Einfügen dieses Headers entspricht der Auswahl eines Kontos in der Google Ads-Benutzeroberfläche nach der Anmeldung oder dem Klicken auf Ihr Profilbild oben rechts auf der Seite. Entfernen Sie bei der Angabe der Kundennummer alle Bindestriche (—). Beispiel: 1234567890, nicht 123-456-7890. Weitere Informationen zur Kundennummer für die Anmeldung finden Sie im Leitfaden zum Google Ads-Zugriffsmodell.

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

Verknüpfte Kundennummer

Der Header „Linked customer ID“ wird von Partnern (z. B. Drittanbietern von App-Analysetools oder Datenpartnern) verwendet, wenn sie im Namen eines verknüpften Google Ads-Kontos agieren. Weitere Informationen finden Sie im Leitfaden zur API-Aufrufstruktur.

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

request-id ist ein String, der die API-Anfrage eindeutig identifiziert. Beim Debuggen oder Beheben von Problemen mit bestimmten API-Aufrufen ist die request-id eine wichtige Kennung, die Sie zur Hand haben sollten, wenn Sie sich an den Google-Entwicklersupport wenden.

request-id: 2a5Cj89VV7CNhya1DZjjrC