Konfiguracja

Biblioteka klienta PHP interfejsu Google Ads API udostępnia kilka ustawień konfiguracji, które pozwalają dostosowywać działanie biblioteki.

Plik konfiguracji

Większość z 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 dane logowania, jak i kreatory 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 w argumentach nie podano ścieżki pliku konfiguracji, metody fromFile ładują się z domyślnej ścieżki pliku konfiguracji, która wygląda tak:

  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 określać 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

Podczas inicjowania klientów możesz skonfigurować niektóre ustawienia konfiguracji ze zmiennych środowiskowych (zobacz pełną listę).

Zarówno dane logowania, jak 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 według kategorii.

  1. Pola używane przez OAuth2TokenBuilder:
    • Tryb aplikacji
      • [OAUTH2] clientId: identyfikator klienta OAuth2.
      • [OAUTH2] clientSecret: Twój tajny klucz klienta OAuth2.
      • [OAUTH2] refreshToken: Twój token odświeżania OAuth2.
    • Tryb konta usługi
      • [OAUTH2] jsonKeyFilePath: ścieżka pliku klucza JSON.
      • [OAUTH2] scopes: zakresy.
      • [OAUTH2] impersonatedEmail: adres e-mail, pod który można się podszywać.
  2. Pola używane przez GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: token programisty umożliwiający dostęp do interfejsu API.
    • [GOOGLE_ADS] loginCustomerId: identyfikator autoryzowanego klienta, którego należy użyć w żądaniu.
    • [GOOGLE_ADS] linkedCustomerId: identyfikator połączonego klienta.
    • [LOGGING] logFilePath: ścieżka pliku na potrzeby logowania.
    • [LOGGING] logLevel: poziom logowania.
    • [CONNECTION] proxy: adres URL serwera proxy używany do łączenia się z internetem.
    • [CONNECTION] transport: środek transportu.
    • [CONNECTION] grpcChannelIsSecure: określa, czy kanał gRPC jest bezpieczny.
    • [CONNECTION] grpcChannelCredential: dane logowania do kanału gRPC.
    • [CONNECTION] unaryMiddlewares: jednoargumentowe oprogramowanie pośredniczące.
    • [CONNECTION] streamingMiddlewares: aplikacje pośredniczące streamingowe.
    • [CONNECTION] grpcInterceptors: moduły przechwytujące gRPC.
  3. [GAPIC] useGapicV2Source: określa, czy podczas tworzenia klientów usług ma być używany kod źródłowy GAPIC 2.

Sprawdzanie poprawności konfiguracji

Ustawienia konfiguracji są sprawdzane podczas tworzenia instancji klientów, a jeśli są nieprawidłowe, są zgłaszane wyjątki. Oto zasady:

  1. Pola [OAUTH2] nie mogą być ustawione jednocześnie na tryb aplikacji i tryb konta usługi.
  2. Gdy używasz trybu konta usługi, musisz ustawić [OAUTH2] jsonKeyFilePath i [OAUTH2] scopes.
  3. W trybie aplikacji musisz ustawić [OAUTH2] clientId, [OAUTH2] clientSecret i [OAUTH2] refreshToken.
  4. Wartość [GOOGLE_ADS] developerToken musi być zawsze ustawiona.
  5. Jeśli zasada jest skonfigurowana, [GOOGLE_ADS] loginCustomerId i [GOOGLE_ADS] linkedCustomerId muszą być liczbami dodatnimi.
  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 dziennika PSR pisanym wielkimi literami, np. INFO.
  8. Jeśli zasada jest skonfigurowana, [CONNECTION] transport musi mieć wartość grpc lub rest.
  9. Jeśli [CONNECTION] transport ma wartość grpc, środowisko musi obsługiwać transport gRPC (patrz przewodnik transport).
  10. [CONNECTION] grpcChannelIsSecure musi mieć wartość true, gdy [CONNECTION] transport nie ma wartości grpc.
  11. [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy [CONNECTION] transport ma wartość grpc.
  12. [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy [CONNECTION] grpcChannelIsSecure ma wartość true.