Konfiguracja

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

Plik konfiguracji

Większość tych ustawień konfiguracyjnych możesz przechowywać w Większość tych ustawień konfiguracyjnych możesz przechowywać w ini plikach i używać ich podczas tworzenia instancji klientów, np. google_ads_php.ini.

Kreatory danych logowania i klientów 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 ścieżka konfiguracji nie jest podana jako argument, metody fromFile wczytują ustawienia z domyślnej ścieżki konfiguracji, która jest:

  1. wartością zmiennej środowiskowej o nazwie GOOGLE_ADS_CONFIGURATION_FILE_PATH, jeśli jest ustawiona;
  2. w przeciwnym razie plikiem google_ads_php.ini w katalogu HOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

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

Konfiguracja dynamiczna

Te ustawienia konfiguracyjne możesz ustawiać dynamicznie podczas tworzenia instancji klientów.

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

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

Zmienne środowiskowe konfiguracji

Podczas tworzenia instancji klientów możesz ustawić niektóre ustawienia konfiguracyjne ze zmiennych środowiskowych (zobacz pełną listę).

Kreatory danych logowania i 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 konfiguracyjne 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: token odświeżania OAuth2.
    • Tryb konta usługi
      • [OAUTH2] jsonKeyFilePath: ścieżka do klucza JSON.
      • [OAUTH2] scopes: zakresy.
      • [OAUTH2] impersonatedEmail: adres e-mail, który ma być używany do personifikacji.
  2. Pola używane przez GoogleAdsClientBuilder:
    • [GOOGLE_ADS] loginCustomerId: Identyfikator autoryzowanego klienta, który ma być używany w żądaniu.
    • [GOOGLE_ADS] linkedCustomerId: identyfikator połączonego klienta.
    • [LOGGING] logFilePath: ścieżka do logowania.
    • [LOGGING] logLevel: poziom logowania.
    • [CONNECTION] proxy: adres URL serwera proxy używanego do połączenia z internetem.
    • [CONNECTION] transport: transport.
    • [CONNECTION] grpcChannelIsSecure: czy kanał gRPC jest bezpieczny.
    • [CONNECTION] grpcChannelCredential: dane logowania do kanału gRPC.
    • [CONNECTION] unaryMiddlewares: pośrednie oprogramowanie jednoargumentowe.
    • [CONNECTION] streamingMiddlewares: pośrednie oprogramowanie do przesyłania strumieniowego.
    • [CONNECTION] grpcInterceptors: przechwytujące gRPC.

Weryfikacja konfiguracji

Ustawienia konfiguracyjne są sprawdzane podczas tworzenia instancji klientów, a w przypadku nieprawidłowych ustawień zgłaszane są wyjątki. Oto reguły:

  1. Pola [OAUTH2] nie mogą być ustawione jednocześnie w trybie aplikacji i trybie konta usługi.
  2. W przypadku korzystania z trybu konta usługi należy ustawić pola [OAUTH2] jsonKeyFilePath i [OAUTH2] scopes.
  3. W przypadku korzystania z trybu aplikacji należy ustawić pola [OAUTH2] clientId, [OAUTH2] clientSecret i [OAUTH2] refreshToken.
  4. Jeśli są ustawione, pola [GOOGLE_ADS] loginCustomerId i [GOOGLE_ADS] linkedCustomerId muszą być liczbami dodatnimi.
  5. Jeśli jest ustawione, [CONNECTION] proxy musi zawierać prawidłowy adres URL (zobacz filtr FILTER_VALIDATE_URL).
  6. Jeśli jest ustawione, [LOGGING] logLevel musi zawierać prawidłowy poziom logowania PSR zapisany wielkimi literami, np. INFO.
  7. Jeśli jest ustawione, pole [CONNECTION] transport musi mieć wartość grpc lub rest.
  8. Jeśli pole [CONNECTION] transport ma wartość grpc, transport gRPC musi być obsługiwany przez środowisko (zobacz transport przewodnika ).
  9. Gdy pole [CONNECTION] transport nie ma wartości grpc, pole [CONNECTION] grpcChannelIsSecure musi mieć wartość true.
  10. [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy [CONNECTION] transport ma wartość grpc.
  11. [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy [CONNECTION] grpcChannelIsSecure ma wartość true.