Konfiguracja

Biblioteka klienta PHP interfejsu Google Ads API udostępnia kilka ustawień konfiguracji, których możesz użyć do dostosowania działania biblioteki.

Plik konfiguracji

Większość tych ustawień konfiguracji możesz przechowywać w plikach ini i używać ich podczas tworzenia instancji klientów, na przykład google_ads_php.ini.

Zarówno kreator danych logowania, jak i kreator klienta udostępniają metody fromFile do wczytywania ustawień z takich plików:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Jeśli jako argument nie podano ścieżki konfiguracji, metody fromFile są wczytywane z domyślnej ścieżki konfiguracji, która jest:

  1. Wartość zmiennej środowiskowej o nazwie GOOGLE_ADS_CONFIGURATION_FILE_PATH, jeśli została ustawiona.
  2. W przeciwnym razie plik google_ads_php.ini w katalogu HOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Konfiguracja dynamiczna

Te ustawienia konfiguracji możesz wprowadzać dynamicznie podczas tworzenia instancji klientów.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();

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

Zmienne środowiskowe konfiguracji

Niektóre ustawienia konfiguracji możesz ustawić za pomocą zmiennych środowiskowych podczas tworzenia instancji klientów (patrz pełna lista).

Dane logowania i kreatory klientów udostępniają metody fromEnvironmentVariables do wczytywania ustawień ze zmiennych środowiskowych:

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

Pola konfiguracji

Ustawienia konfiguracji obsługują kilka pól uporządkowanych w kategorie.

  1. Pola używane przez OAuth2TokenBuilder:
    • Tryb aplikacji
      • [OAUTH2] clientId: identyfikator klienta OAuth2.
      • [OAUTH2] clientSecret: tajny klucz klienta OAuth2.
      • [OAUTH2] refreshToken: Twój token odświeżania OAuth2.
    • Tryb konta usługi
      • [OAUTH2] jsonKeyFilePath: ścieżka do pliku klucza JSON.
      • [OAUTH2] scopes: zakresy.
      • [OAUTH2] impersonatedEmail: adres e-mail, którego chcesz używać.
  2. Pola używane przez GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: Twój token dewelopera umożliwiający dostęp do interfejsu API.
    • [GOOGLE_ADS] loginCustomerId: identyfikator autoryzowanego klienta do użycia w żądaniu.
    • [GOOGLE_ADS] linkedCustomerId: identyfikator połączonego klienta.
    • [LOGGING] logFilePath: ścieżka do pliku do rejestrowania.
    • [LOGGING] logLevel: poziom rejestrowania.
    • [CONNECTION] proxy: adres URL serwera proxy używanego do łączenia się z internetem.
    • [CONNECTION] transport: transport.
    • [CONNECTION] grpcChannelIsSecure: określa, czy kanał gRPC jest bezpieczny.
    • [CONNECTION] grpcChannelCredential: dane logowania do kanału gRPC.
    • [CONNECTION] unaryMiddlewares: pośredniki unary.
    • [CONNECTION] streamingMiddlewares: oprogramowanie pośredniczące do strumieniowania.
    • [CONNECTION] grpcInterceptors: przechwytujące interfejsy gRPC.

Weryfikacja konfiguracji

Ustawienia konfiguracji są sprawdzane podczas tworzenia instancji klientów, a wyjątki są zgłaszane, gdy są nieprawidłowe. Oto reguły:

  1. Pola [OAUTH2] nie mogą być ustawione jednocześnie dla trybu aplikacji i trybu konta usługi.
  2. Jeśli używasz trybu konta usługi, musisz ustawić parametry [OAUTH2] jsonKeyFilePath[OAUTH2] scopes.
  3. W trybie aplikacji musisz ustawić parametry [OAUTH2] clientId, [OAUTH2] clientSecret[OAUTH2] refreshToken.
  4. Wartość [GOOGLE_ADS] developerToken musi być zawsze ustawiona.
  5. Jeśli są ustawione, wartości [GOOGLE_ADS] loginCustomerId[GOOGLE_ADS] linkedCustomerId muszą być dodatnie.
  6. Jeśli jest ustawiony, [CONNECTION] proxy musi być prawidłowym adresem URL (patrz filtr FILTER_VALIDATE_URL).
  7. Jeśli jest ustawiony, [LOGGING] logLevel musi być prawidłowym poziomem logu PR pisanym wielkimi literami, np. INFO.
  8. Jeśli jest ustawiona, wartość [CONNECTION] transport musi być równa grpc lub rest.
  9. Jeśli [CONNECTION] transport ma wartość grpc, środowisko musi obsługiwać transport gRPC (patrz przewodnik transport).
  10. Jeśli opcja [CONNECTION] transport nie ma wartości grpc, opcja [CONNECTION] grpcChannelIsSecure musi mieć wartość true.
  11. Wartość [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy ustawienie [CONNECTION] transport ma wartość grpc.
  12. Pole [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy pole [CONNECTION] grpcChannelIsSecure ma wartość true.