Authentifizierung und Autorisierung

Wie bei anderen Google-APIs wird bei der Google Ads API zur Authentifizierung und Autorisierung das OAuth 2.0-Protokoll verwendet. Mit OAuth 2.0 kann Ihre Google Ads API-Clientanwendung auf das Google Ads-Konto eines Nutzers zugreifen, ohne die Anmeldedaten des Nutzers verarbeiten oder speichern zu müssen.

Google Ads-Zugriffsmodell

Wenn Sie effektiv mit der Google Ads API arbeiten möchten, sollten Sie wissen, wie das Google Ads-Zugriffsmodell funktioniert. Wir empfehlen Ihnen dringend, den Leitfaden zum Google Ads-Zugriffsmodell zu lesen.

OAuth-Arbeitsabläufe

Es gibt drei gängige Workflows für die Arbeit mit der Google Ads API.

Ablauf für Dienstkonten

Dies ist der empfohlene Workflow, wenn für Ihren Workflow keine Interaktion mit Menschen erforderlich ist. Für diesen Workflow ist ein Konfigurationsschritt erforderlich, bei dem der Nutzer seinem Google Ads-Konto ein Dienstkonto hinzufügt. Die App kann dann die Anmeldedaten des Dienstkontos verwenden, um das Google Ads-Konto des Nutzers zu verwalten. Die Bibliothek ist so konfiguriert:


// Initialize a GoogleAdsConfig class.
GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
    LoginCustomerId = ******
};

// Initialize a GoogleAdsClient class.
GoogleAdsClient client = new GoogleAdsClient(config);

Weitere Informationen finden Sie im Leitfaden für Dienstkonten.

Authentifizierungsvorgang für Einzelnutzer

Dieser Workflow kann verwendet werden, wenn Sie keine Dienstkonten nutzen können. Für diesen Workflow sind zwei Konfigurationsschritte erforderlich:

  1. Gewähren Sie einem einzelnen Nutzer Zugriff auf alle Konten, die mit der Google Ads API verwaltet werden sollen. Eine gängige Vorgehensweise besteht darin, dem Nutzer Zugriff auf ein Google Ads API-Verwaltungskonto zu gewähren und alle Google Ads-Konten unter diesem Verwaltungskonto zu verknüpfen.
  2. Der Nutzer führt ein Tool wie die gcloud CLI oder das GenerateUserCredentials-Codebeispiel aus, um Ihre App zu autorisieren, alle seine Google Ads-Konten in seinem Namen zu verwalten.

Die Bibliothek kann mit den OAuth 2.0-Anmeldedaten des Nutzers initialisiert werden:

GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
    DeveloperToken = DEVELOPER_TOKEN,
    LoginCustomerId = LOGIN_CUSTOMER_ID,
    OAuth2ClientId = OAUTH_CLIENT_ID,
    OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
    OAuth2RefreshToken = REFRESH_TOKEN,
};

GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);

Weitere Informationen finden Sie im Leitfaden für den Authentifizierungs-Workflow für einzelne Nutzer.

Authentifizierungsablauf für mehrere Nutzer

Dieser Workflow wird empfohlen, wenn Nutzer sich in Ihrer App anmelden und sie autorisieren können, ihre Google Ads-Konten in ihrem Namen zu verwalten. Ihre App erstellt und verwaltet die OAuth 2.0-Nutzeranmeldedaten. Die Bibliothek kann mit den Anmeldedaten des Nutzers initialisiert werden:

GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
    DeveloperToken = DEVELOPER_TOKEN,
    LoginCustomerId = LOGIN_CUSTOMER_ID,
    OAuth2ClientId = OAUTH_CLIENT_ID,
    OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
    OAuth2RefreshToken = REFRESH_TOKEN,
};

GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);

Weitere Informationen finden Sie im Leitfaden zum Workflow für die Multi-User-Authentifizierung. Die .NET-Clientbibliothek enthält zwei Codebeispiele als Referenz:

  1. Das AuthenticateInAspNetCoreApplication-Codebeispiel veranschaulicht, wie Sie eine Webanwendung erstellen, die zur Laufzeit die Nutzerauthentifizierung erhält, um die Google Ads-Konten der Nutzer in ihrem Namen zu verwalten. Die App verwendet die OAuth 2.0-Anmeldedaten des Nutzers, um die Kampagnen in seinem Google Ads-Konto abzurufen.

  2. GenerateUserCredentials ist ein Befehlszeilenbeispiel, das zeigt, wie Sie zur Laufzeit die Nutzerauthentifizierung abrufen, um die Google Ads-Konten der Nutzer in ihrem Namen zu verwalten. Sie können dieses Codebeispiel als Referenz für die Entwicklung von Desktop-Apps verwenden, für die eine Nutzerauthentifizierung erforderlich ist.

Was ist, wenn mein Nutzer mehrere Konten verwaltet?

Es ist üblich, dass ein Nutzer mehrere Google Ads-Konten verwaltet, entweder durch direkten Zugriff auf Konten oder über ein Google Ads-Verwaltungskonto. Die .NET-Clientbibliothek enthält die folgenden Codebeispiele, die zeigen, wie solche Fälle behandelt werden.

  1. Im Codebeispiel GetAccountHierarchy wird gezeigt, wie die Liste aller Konten unter einem Google Ads-Verwaltungskonto abgerufen wird.
  2. Im Codebeispiel ListAccessibleCustomers wird gezeigt, wie Sie die Liste aller Konten abrufen, auf die ein Nutzer direkten Zugriff hat. Diese Konten können dann als gültige Werte für die Einstellung LoginCustomerId verwendet werden.