Für den Aufruf der Google Ads API benötigen Sie sowohl OAuth 2.0-Anmeldedaten 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 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 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
Folgen Sie der Anleitung, um ein Google Cloud-Projekt für die Google Ads API zu konfigurieren. Notieren Sie sich die E-Mail-Adresse des Dienstkontos und den Dienstkontoschlüssel. Folgen Sie dann 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, 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 unter 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 den Tab HTTP/REST auswählen, wenn 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 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 zu übernehmen.
Anschließend verwenden Sie das Zugriffstoken im Authorization-HTTP-Header jedes API-Aufrufs der Google Ads API:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 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/tokenDas von der curl-Anfrage zurückgegebene Zugriffstoken verwenden Sie dann im Authorization-HTTP-Header jedes API-Aufrufs der Google Ads API:
GET /v22/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. Wenn Sie bereits ein Entwicklertoken haben, finden Sie es unter https://ads.google.com/aw/apicenter. Melden Sie sich in Ihrem Google Ads-Verwaltungskonto an, wenn Sie dazu aufgefordert werden. Wenn Sie noch keinen haben, folgen Sie der Anleitung, um sich für ein Entwicklertoken zu registrieren.
Sie müssen den Wert Ihres Entwicklertokens im developer-token-HTTP-Header jedes API-Aufrufs an die Google Ads API angeben:
GET /v22/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 Managerkonto an ein Kundenkonto gesendet werden (d. h. wenn Sie sich als Manager anmelden, um API-Aufrufe an eines seiner Kundenkonten zu senden), müssen Sie auch den login-customer-id-HTTP-Header angeben. Dieser Wert steht für die Google Ads-Kundennummer des Managers, der 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 beim Angeben der Kundennummer alle Bindestriche (–), z. B. 1234567890 statt 123-456-7890. Weitere Informationen zur Anmelde-Kundennummer finden Sie im Leitfaden zum Google Ads-Zugriffsmodell.
GET /v22/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
Der Header „Linked customer ID“ (Verknüpfte Kundennummer) wird nur von Drittanbietern von App-Analysetools verwendet, wenn sie Conversions in ein verknüpftes Google Ads-Konto hochladen. 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