Konfiguracja

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

Plik konfiguracji

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

Kreatory danych logowania i 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 zostanie podana ścieżka konfiguracji, metody fromFile wczytują dane z domyślnej ścieżki konfiguracji, czyli:

  1. Wartość zmiennej środowiskowej o nazwie GOOGLE_ADS_CONFIGURATION_FILE_PATH, jeśli jest 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 ustawiać dynamicznie podczas tworzenia instancji klientów:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID_HERE')
    ->withClientSecret('INSERT_CLIENT_SECRET_HERE')
    ->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
    ->build();

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

Zmienne środowiskowe konfiguracji

Niektóre ustawienia konfiguracji możesz określić za pomocą zmiennych środowiskowych podczas tworzenia instancji klientów (zobacz standardowe zmienne środowiskowe).

Zarówno kreatory danych logowania, jak i kreatory klienta 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 według kategorii:

  1. Pola używane przez OAuth2TokenBuilder:
    • Tryb aplikacji:
      • [OAUTH2] clientId: Twój identyfikator klienta OAuth2.
      • [OAUTH2] clientSecret: tajny klucz klienta OAuth2.
      • [OAUTH2] refreshToken: token odświeżania OAuth2.
    • Tryb konta usługi:
      • [OAUTH2] jsonKeyFilePath: ścieżka klucza JSON.
      • [OAUTH2] scopes: zakresy OAuth2 (domyślnie https://www.googleapis.com/auth/adwords w wersji v32.1.0 i nowszych; wymagane w wersjach starszych niż v32.1.0 lub w przypadku korzystania z zakresów niestandardowych; nie są odczytywane ze zmiennej środowiskowej przez fromEnvironmentVariables()).
      • [OAUTH2] impersonatedEmail: opcjonalny adres e-mail, pod który można się podszyć podczas korzystania z przekazywania dostępu w całej domenie Google Workspace.
    • Tryb domyślnego uwierzytelniania aplikacji:
      • Jeśli nie ustawiono pól trybu aplikacji ani trybu konta usługi, OAuth2TokenBuilder automatycznie przełącza się na domyślne uwierzytelnianie aplikacji (ADC).
  2. Pola używane przez GoogleAdsClientBuilder:
    • [GOOGLE_ADS] loginCustomerId: identyfikator autoryzowanego klienta, który ma być użyty w żądaniu.
    • [GOOGLE_ADS] linkedCustomerId: identyfikator połączonego klienta.
    • [GOOGLE_ADS] endpoint: opcjonalny alternatywny punkt końcowy serwera interfejsu Google Ads API.
    • [LOGGING] logFilePath: ścieżka do danych wyjściowych logowania.
    • [LOGGING] logLevel: poziom rejestrowania.
    • [CONNECTION] proxy: adres URL serwera proxy używanego do połączenia z internetem.
    • [CONNECTION] transport: transport sieciowy (grpc lub rest).
    • [CONNECTION] grpcChannelIsSecure: określa, czy kanał gRPC jest bezpieczny.
    • [CONNECTION] grpcChannelCredential: dane logowania kanału gRPC.
    • [CONNECTION] unaryMiddlewares: oprogramowanie pośredniczące jednoargumentowe.
    • [CONNECTION] streamingMiddlewares: oprogramowanie pośredniczące do strumieniowania.
    • [CONNECTION] grpcInterceptors: przechwytywacze gRPC.

Weryfikacja konfiguracji

Ustawienia konfiguracji są sprawdzane podczas tworzenia instancji klientów, a w przypadku nieprawidłowości są zgłaszane wyjątki. Reguły weryfikacji są następujące:

  1. Pola [OAUTH2] nie mogą być ustawione jednocześnie dla trybu aplikacji i trybu konta usługi.
  2. W przypadku korzystania z trybu konta usługi należy ustawić [OAUTH2] jsonKeyFilePath (w wersjach starszych niż v32.1.0 należy też ustawić [OAUTH2] scopes; w wersji v32.1.0 i nowszych scopes domyślnie ma wartość https://www.googleapis.com/auth/adwords).
  3. W przypadku korzystania z trybu aplikacji należy ustawić parametry [OAUTH2] clientId, [OAUTH2] clientSecret i [OAUTH2] refreshToken.
  4. Jeśli ustawiono, [GOOGLE_ADS] loginCustomerId i [GOOGLE_ADS] linkedCustomerId muszą być liczbami dodatnimi.
  5. Jeśli jest ustawiony, [CONNECTION] proxy musi być prawidłowym adresem URL (zobacz filtr FILTER_VALIDATE_URL).
  6. Jeśli jest ustawiona, [LOGGING] logLevel musi być prawidłowym poziomem logowania PSR zapisanym wielkimi literami, np. INFO.
  7. Jeśli ustawiono, [CONNECTION] transport musi mieć wartość grpc lub rest.
  8. Jeśli właściwość [CONNECTION] transport jest ustawiona na grpc, transport gRPC musi być obsługiwany przez środowisko (patrz Przewodnik po transporcie).
  9. Jeśli parametr [CONNECTION] transport nie jest ustawiony na grpc, parametr [CONNECTION] grpcChannelIsSecure musi mieć wartość true (połączenia REST zawsze wymagają protokołu HTTPS).
  10. Wartość [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy zasada [CONNECTION] transport ma wartość grpc.
  11. Wartość [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy [CONNECTION] grpcChannelIsSecure to true.