Authentication

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 Google Ads API dostęp do konta Google Ads użytkownika bez konieczności obsługiwania i przechowywania informacji logowania użytkownika.

Poznawanie 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. Zalecamy przeczytanie przewodnika po modelu dostępu do Google Ads.

Przepływy OAuth

Podczas pracy z interfejsem Google Ads API używane są 3 typowe przepływy.

Przepływ konta usługi

Jest to zalecany przepływ, jeśli nie wymaga on interakcji z użytkownikiem. Ten przepływ wymaga wykonania kroku konfiguracji, w którym użytkownik dodaje konto usługi do swojego konta Google Ads. Aplikacja może wtedy używać danych logowania konta usługi do zarządzania kontem Google Ads użytkownika. Bibliotekę PHP można skonfigurować w ten sposób:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withJsonKeyFilePath('PATH_TO_CREDENTIALS_JSON')
    ->withScopes('https://www.googleapis.com/auth/adwords')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    ->build();

Więcej informacji znajdziesz w przewodniku po przepływie konta usługi aby dowiedzieć się więcej.

Przepływ uwierzytelniania pojedynczego użytkownika

Ten przepływ może być używany, jeśli nie możesz korzystać z kont usług. Ten przepływ wymaga wykonania 2 kroków konfiguracji:

  1. Przyznaj jednemu użytkownikowi dostęp do wszystkich kont, którymi chcesz zarządzać za pomocą interfejsu Google Ads API. Najczęściej przyznaje się użytkownikowi dostęp do konta menedżera interfejsu Google Ads API i łączy się z nim wszystkie konta Google Ads.
  2. Użytkownik uruchamia narzędzie wiersza poleceń, np. GenerateUserCredentials

    aby autoryzować aplikację do zarządzania wszystkimi jego kontami Google Ads w jego imieniu.

Bibliotekę można zainicjować za pomocą danych logowania OAuth 2.0 użytkownika w ten sposób:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    ->withClientSecret('INSERT_CLIENT_SECRET')
    ->withRefreshToken('INSERT_REFRESH_TOKEN')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    ->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
    ->build();

Więcej informacji znajdziesz w przewodniku po przepływie uwierzytelniania pojedynczego użytkownika.

aby dowiedzieć się więcej.

Przepływ uwierzytelniania wielu użytkowników

Jest to zalecany przepływ, jeśli aplikacja umożliwia użytkownikom logowanie się i autoryzowanie aplikacji do zarządzania ich kontami Google Ads w ich imieniu. Aplikacja tworzy dane logowania OAuth 2.0 użytkownika i zarządza nimi. Bibliotekę można zainicjować za pomocą danych logowania użytkownika w ten sposób:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    ->withClientSecret('INSERT_CLIENT_SECRET')
    ->withRefreshToken('INSERT_REFRESH_TOKEN')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    ->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
    ->build();

Więcej informacji znajdziesz w przewodniku po przepływie uwierzytelniania wielu użytkowników.

aby dowiedzieć się więcej.

Co zrobić, jeśli użytkownik zarządza kilkoma kontami?

Użytkownik może zarządzać więcej niż 1 kontem Google Ads – bezpośrednio lub za pomocą konta menedżera Google Ads. Biblioteka klienta PHP zawiera te przykłady kodu, które pokazują, jak sobie radzić w takich przypadkach.

  1. Przykład kodu GetAccountHierarchy

    pokazuje, jak pobrać listę wszystkich kont na koncie menedżera Google Ads.

  2. Przykład kodu ListAccessibleCustomers

    pokazuje, jak pobrać listę wszystkich kont, do których użytkownik ma bezpośredni dostęp. Te konta mogą być używane jako prawidłowe wartości ustawienia loginCustomerId.