Autorisierung und HTTP-Header

Video: Authentifizierung

Zum Aufrufen der Google Ads API benötigen Sie sowohl die Anmeldedaten für OAuth 2.0-Anwendungen als auch ein Entwickler-Token. Wenn Sie API-Aufrufe mit einem Google Ads-Verwaltungskonto ausführen, müssen Sie bei jeder Anfrage außerdem 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 über die REST-Schnittstelle gesendet und empfangen werden.

Anmeldedaten für OAuth 2.0

Die Google Ads API verwendet Anwendungsanmeldedaten, um API-Anfragen zu identifizieren und zu autorisieren. Es können sowohl OAuth 2.0-Clients als auch Dienstkonten konfiguriert werden. Weitere Informationen zum Konfigurieren der clientseitigen Autorisierung finden Sie unter OAuth2 in der Google Ads API.

Wenn Sie mit Google APIs noch nicht vertraut sind, können Sie oauth2l oder den OAuth 2.0 Playground verwenden, um mit Anwendungsanmeldedaten und der Google Ads API zu experimentieren, bevor Sie den Code für Ihre Anwendung schreiben.

Desktop- oder Web-App-Abläufe verwenden

Führen Sie die Schritte zur Konfiguration eines Google API Console-Projekts für die Google Ads API aus. 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 Ablauf für Desktop-Anwendungen oder der Anleitung für den Web-App-Vorgang, um ein Aktualisierungstoken und ein Zugriffstoken zu generieren.

Dienstkonten verwenden

Folgen Sie der allgemeinen Anleitung im Leitfaden zu Dienstkonten, um den Dienstkontozugriff 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 OAuth 2.0 für Server-zu-Server-Anwendungen verwenden und wählen Sie den Tab HTTP/REST aus. Für den Google Ads API-Zugriff muss für scope https://www.googleapis.com/auth/adwords verwendet werden.

Neue Zugriffstokens generieren

Sobald Sie eine Client-ID, einen Clientschlüssel und ein Aktualisierungstoken haben, können Sie mit dem curl-Befehlszeilentool ein neues Zugriffstoken zur 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

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 /v17/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Anfrageheader

Entwicklertoken

Außerdem ist ein Entwickler-Token erforderlich, damit die Google Ads API Aufrufe an die API senden kann. Sie können ein Token für Ihr Verwaltungskonto direkt über die Google Ads-Benutzeroberfläche beantragen. Weitere Informationen zur Einrichtung mit einem Entwicklertoken finden Sie unter Entwicklertoken abrufen.

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

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

Kundennummer für Anmeldung

Bei Google Ads API-Aufrufen, die von einem Administrator an ein Kundenkonto erfolgt (d. h. wenn Sie sich als Administrator anmelden, um API-Aufrufe an eines seiner Kundenkonten auszuführen), müssen Sie auch den HTTP-Header login-customer-id angeben. Dieser Wert steht für die Google Ads-Kundennummer des Administrators, der den API-Aufruf durchführt.

Diese Kopfzeile entspricht der Auswahl eines Kontos auf der Google Ads-Benutzeroberfläche, nachdem Sie sich angemeldet oder rechts oben auf der Seite auf Ihr Profilbild geklickt haben. Achten Sie bei der Angabe der Kundennummer darauf, alle Bindestriche (—) zu entfernen, z. B. 1234567890, nicht 123-456-7890.

GET /v17/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 Drittanbietern von App-Analysetools verwendet, wenn Conversions in ein verknüpftes Google Ads-Konto hochgeladen werden. Weitere Informationen finden Sie im Leitfaden zur API-Aufrufstruktur.

...
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 der API zurückgegeben.

Antrags-ID

request-id ist ein String, der die API-Anfrage eindeutig identifiziert. Beim Beheben von Problemen mit bestimmten API-Aufrufen ist die request-id eine wichtige Kennung, die Sie bei der Kontaktaufnahme mit dem Google-Entwicklersupport zur Verfügung haben sollten.

request-id: 2a5Cj89VV7CNhya1DZjjrC