Autorisierung und HTTP-Header

Video: Authentication

Für den Aufruf der Google Ads API benötigen Sie sowohl OAuth 2.0-Anwendungsanmeldedaten als auch ein Entwicklertoken. 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

Die Google Ads API verwendet Anmeldedaten der Anwendung zum Identifizieren und Autorisieren von API-Anfragen. Sowohl OAuth 2.0-Clients als auch Dienstkonten können konfiguriert werden. Weitere Informationen zum Konfigurieren der clientseitigen Autorisierung finden Sie unter OAuth 2.0 in der Google Ads API.

Wenn Sie neu bei Google APIs sind, können Sie oauth2l oder den OAuth 2.0 Playground verwenden, um mit Anmeldedaten für Anwendungen und der Google Ads API zu experimentieren, bevor Sie den Code für Ihre App schreiben.

Desktop- oder Web-App-Abläufe verwenden

Folgen Sie der Anleitung, um ein Google API Console-Projekt für die Google Ads API zu konfigurieren. Notieren Sie sich die Client-ID und den Clientschlüssel und kehren Sie dann zu dieser Seite zurück.

Nachdem Sie einen OAuth-Client erstellt haben, folgen Sie der Anleitung für den Desktop-App-Ablauf oder der Anleitung für den Web-App-Ablauf, um ein Aktualisierungstoken und ein Zugriffstoken zu generieren.

Dienstkonten verwenden

Folgen Sie der allgemeinen Anleitung im Leitfaden Dienstkonten, um den Dienstkonto-Zugriff für die Google Ads API einzurichten.

Nachdem Sie ein Dienstkonto für den Zugriff auf Ihr Google Ads-Konto eingerichtet haben, folgen Sie der Anleitung unter OAuth 2.0 für Server-zu-Server-Anwendungen verwenden und wählen Sie den Tab HTTP/REST aus. 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

Sobald Sie eine Client-ID, ein Client-Secret und ein Aktualisierungstoken haben, können Sie mit dem curl-Befehlszeilentool 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 Authorization-HTTP-Header jedes API-Aufrufs der Google Ads API:

GET /v21/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Anfrageheader

Entwickler-Token

Für die Google Ads API ist außerdem ein Entwicklertoken erforderlich, um Aufrufe an die API zu senden. Sie können ein Token für Ihr Verwaltungskonto direkt über die Google Ads-Benutzeroberfläche beantragen. Weitere Informationen zum Einrichten eines Entwicklertokens finden Sie unter Entwicklertoken abrufen.

Sie müssen den Wert Ihres Entwicklertokens in den developer-token-HTTP-Header jedes API-Aufrufs an die Google Ads API einfügen:

GET /v21/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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 HTTP-Header login-customer-id angeben. Dieser Wert entspricht der Google Ads-Kundennummer des Verwaltungskontos, mit dem der API-Aufruf erfolgt.

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. Achten Sie darauf, dass Sie beim Angeben der Kundennummer alle Bindestriche (–) entfernen, z. B. 1234567890 statt 123-456-7890.

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

Verknüpfte Kundennummer

Dieser Header wird nur von App-Analysetools von Drittanbietern verwendet, wenn Conversions in ein verknüpftes Google Ads-Konto hochgeladen werden. Weitere Informationen finden Sie im Leitfaden zur Struktur von API-Aufrufen.

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

Antwortheader

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

Antrags‑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 ein wichtiger Bezeichner, den Sie zur Hand haben sollten, wenn Sie sich an den Google-Entwicklersupport wenden.

request-id: 2a5Cj89VV7CNhya1DZjjrC