Podobnie jak inne interfejsy API Google, interfejs Google Ads API używa protokołu OAuth 2.0 do uwierzytelniania i autoryzacji. OAuth 2.0 umożliwia aplikacji klienckiej interfejsu Google Ads API dostęp do konta Google Ads użytkownika bez konieczności obsługiwania ani przechowywania informacji logowania użytkownika.
Omówienie modelu dostępu do Google Ads
Aby skutecznie korzystać z interfejsu Google Ads API, musisz zrozumieć, jak działa model dostępu do Google Ads. Zdecydowanie zalecamy przeczytanie przewodnika po modelu dostępu do Google Ads.
Przepływy pracy OAuth
Podczas korzystania z interfejsu Google Ads API stosuje się 3 typy typowych procesów.
Proces konta usługi
Jest to zalecany przepływ pracy, jeśli nie wymaga on interakcji z użytkownikiem. Ten proces wymaga konfiguracji, w ramach której użytkownik dodaje do konta Google Ads konto usługi. Aplikacja może wtedy używać danych logowania konta usługi do zarządzania kontem Google Ads użytkownika. Biblioteka jest skonfigurowana w ten sposób:
// 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);
Więcej informacji znajdziesz w przewodniku po przepływie pracy na koncie usługi.
Proces uwierzytelniania jednego użytkownika
Ten przepływ pracy może być używany, jeśli nie możesz korzystać z kont usług. Ten przepływ pracy wymaga 2 etapów konfiguracji:
- Przyznaj jednemu użytkownikowi dostęp do wszystkich kont, którymi chcesz zarządzać za pomocą interfejsu Google Ads API. Często stosowanym rozwiązaniem jest przyznanie użytkownikowi dostępu do konta menedżera Google Ads API i połączenie wszystkich kont Google Ads z tym kontem menedżera.
- Użytkownik uruchamia narzędzie, np. gcloud CLI lub
GenerateUserCredentials
przykładowy kod, aby autoryzować aplikację do zarządzania w jego imieniu wszystkimi kontami Google Ads.
Bibliotekę można zainicjować za pomocą danych logowania OAuth 2.0 użytkownika w ten sposób:
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);
Więcej informacji znajdziesz w przewodniku po przepływie pracy uwierzytelniania pojedynczego użytkownika.
Proces uwierzytelniania wielu użytkowników
Jest to zalecany proces, jeśli aplikacja umożliwia użytkownikom logowanie się i autoryzowanie jej do zarządzania ich kontami Google Ads w ich imieniu. Aplikacja tworzy dane logowania użytkownika OAuth 2.0 i nimi zarządza. Bibliotekę można zainicjować za pomocą danych logowania użytkownika w ten sposób:
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);
Więcej informacji znajdziesz w przewodniku po przepływie pracy uwierzytelniania wielu użytkowników. Biblioteka klienta .NET zawiera 2 przykłady kodu do celów referencyjnych:
Przykład kodu
AuthenticateInAspNetCoreApplication
pokazuje, jak utworzyć aplikację internetową, która w czasie działania uzyskuje uwierzytelnianie użytkownika, aby zarządzać jego kontami Google Ads w jego imieniu. Aplikacja używa danych logowania OAuth 2.0 użytkownika, aby pobrać kampanie z jego konta Google Ads.GenerateUserCredentials to przykład kodu wiersza poleceń, który pokazuje, jak uzyskać uwierzytelnianie użytkownika w czasie działania programu, aby zarządzać jego kontami Google Ads w jego imieniu. Ten przykładowy kod możesz wykorzystać jako punkt odniesienia do tworzenia aplikacji na komputery, które wymagają uwierzytelnienia użytkownika.
Co zrobić, jeśli użytkownik zarządza wieloma kontami?
Użytkownicy często zarządzają więcej niż 1 kontem Google Ads, korzystając z bezpośredniego dostępu do kont lub z konta menedżera Google Ads. Biblioteka klienta .NET zawiera te przykłady kodu, które pokazują, jak sobie radzić w takich sytuacjach.
- Przykład kodu GetAccountHierarchy pokazuje, jak pobrać listę wszystkich kont powiązanych z kontem menedżera Google Ads.
- Przykład kodu ListAccessibleCustomers pokazuje, jak pobrać listę wszystkich kont, do których użytkownik ma bezpośredni dostęp.
Te konta mogą być następnie używane jako prawidłowe wartości ustawienia
LoginCustomerId
.