Wie bei anderen Google APIs wird auch bei der Google Ads API zur Authentifizierung und Autorisierung das OAuth 2.0-Protokoll verwendet. Mit OAuth 2.0 kann Ihre Google Ads API-Client-App auf das Google Ads-Konto eines Nutzers zugreifen, ohne dass die Anmeldedaten des Nutzers verarbeitet oder gespeichert werden 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, die Anleitung zum Google Ads-Zugriffsmodell zu lesen.
OAuth-Workflows
Bei der Arbeit mit der Google Ads API werden drei gängige Workflows verwendet.
Workflow für Dienstkonten
Dies ist der empfohlene Workflow, wenn für Ihren Workflow keine Interaktion mit einem Nutzer 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 wird 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 in der Anleitung zum Workflow für Dienstkonten.
Workflow für die Authentifizierung eines einzelnen Nutzers
Dieser Workflow kann verwendet werden, wenn Sie keine Dienstkonten verwenden können. Für diesen Workflow sind zwei Konfigurationsschritte erforderlich:
- Gewähren Sie einem einzelnen Nutzer Zugriff auf alle Konten, die mit der Google Ads API verwaltet werden sollen. Ein gängiger Ansatz besteht darin, dem Nutzer Zugriff auf ein Google Ads API-Verwaltungskonto zu gewähren und alle Google Ads-Konten mit diesem Verwaltungskonto zu verknüpfen.
- Der Nutzer führt ein Befehlszeilentool wie gcloud oder das
GenerateUserCredentialsCodebeispiel 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 so 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);
Workflow für die Authentifizierung mehrerer Nutzer
Dies ist der empfohlene Workflow, wenn sich Nutzer in Ihrer App anmelden und Ihre App autorisieren können, ihre Google Ads-Konten in ihrem Namen zu verwalten. Ihre App erstellt und verwaltet die OAuth 2.0-Anmeldedaten des Nutzers. Die Bibliothek kann mit den Anmeldedaten des Nutzers so 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 in der Anleitung zum Workflow für die Authentifizierung mehrerer Nutzer. Die .NET-Clientbibliothek enthält zwei Codebeispiele als Referenz:
Das
AuthenticateInAspNetCoreApplicationCode beispiel zeigt, wie Sie eine Web-App erstellen, die zur Laufzeit die Nutzerauthentifizierung abruft, 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.`GenerateUserCredentials` ist ein Befehlszeilen Codebeispiel, 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 verwenden, um Desktop-Apps zu erstellen, 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 Sie solche Fälle behandeln.
- Das Codebeispiel GetAccountHierarchy zeigt, wie Sie die Liste aller Konten unter einem Google Ads-Verwaltungskonto abrufen.
- Das Codebeispiel ListAccessibleCustomers zeigt
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
LoginCustomerIdverwendet werden.
Standardanmeldedaten für Anwendungen
Die .NET-Clientbibliothek unterstützt auch die Authentifizierung mit Standardanmeldedaten für Anwendungen.
Dies ist besonders nützlich für die lokale Entwicklung oder für die Entwicklung mit verschiedenen Google APIs, da Sie dieselben Anmeldedaten wiederverwenden können, sofern sie auf die richtigen OAuth 2.0-Bereiche zugreifen können.
Achten Sie bei der Google Ads API darauf, dass Ihre Standardanmeldedaten für Anwendungen auf den OAuth 2.0-Bereich https://www.googleapis.com/auth/adwords zugreifen können.
Wenn Sie Standardanmeldedaten für Anwendungen verwenden möchten, legen Sie die Option UseApplicationDefaultCredentials in Ihrer GoogleAdsConfig auf true fest. Das kann auf dieselbe Weise erfolgen wie das Festlegen anderer Konfigurationseigenschaften in der Clientbibliothek, also entweder in Ihrem Code, in einer Konfigurationsdatei oder mithilfe von Umgebungsvariablen.
Weitere Informationen zu den verfügbaren Optionen zum Konfigurieren der .NET Clientbibliothek finden Sie auf der Konfigurations seite.