Konfiguracja

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

Plik konfiguracji

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

Konstruktory uwierzytelniania 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 ścieżka konfiguracji nie zostanie podana jako argument, metody fromFile wczytują się z domyślnej ścieżki konfiguracji, która jest następująca:

  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')
    // ...
    ->build();

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

Zmienne środowiskowe konfiguracji

Niektóre ustawienia konfiguracji możesz określić za pomocą zmiennych środowiskowych podczas tworzenia instancji klientów (zobacz pełną listę).

Zarówno narzędzie do tworzenia danych logowania, jak i narzędzie do tworzenia 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 podzielonych na 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 pliku klucza JSON.
      • [OAUTH2] scopes: zakresy.
      • [OAUTH2] impersonatedEmail: adres e-mail, który ma być podszywany.
  2. Pola używane przez GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: token dewelopera umożliwiający dostęp do interfejsu API.
    • [GOOGLE_ADS] loginCustomerId: identyfikator autoryzowanego klienta, który ma być użyty w żądaniu.
    • [GOOGLE_ADS] linkedCustomerId: połączony identyfikator klienta.
    • [LOGGING] logFilePath: ścieżka pliku do logowania.
    • [LOGGING] logLevel: poziom rejestrowania.
    • [CONNECTION] proxy: adres URL serwera proxy używany 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: funkcje pośredniczące typu unary.
    • [CONNECTION] streamingMiddlewares: oprogramowanie pośredniczące do strumieniowania.
    • [CONNECTION] grpcInterceptors: przechwytujące gRPC.

Weryfikacja konfiguracji

Ustawienia konfiguracji 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 przypadku trybu aplikacji i trybu konta usługi.
  2. W przypadku korzystania z trybu konta usługi należy ustawić parametry [OAUTH2] jsonKeyFilePath[OAUTH2] scopes.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret[OAUTH2] refreshToken muszą być ustawione podczas korzystania z trybu aplikacji.
  4. [GOOGLE_ADS] developerToken musi być zawsze ustawiona.
  5. Jeśli te wartości są ustawione, [GOOGLE_ADS] loginCustomerId[GOOGLE_ADS] linkedCustomerId muszą być liczbami dodatnimi.
  6. Jeśli jest ustawiony, parametr [CONNECTION] proxy musi być prawidłowym adresem URL (patrz filtr FILTER_VALIDATE_URL).
  7. Jeśli ten parametr jest ustawiony, [LOGGING] logLevel musi być prawidłowym poziomem dziennika PSR w wielkich literach, np. INFO.
  8. Jeśli ta zasada jest skonfigurowana, 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 wartość [CONNECTION] transport nie jest ustawiona na grpc, wartość [CONNECTION] grpcChannelIsSecure musi wynosić true.
  11. Ustawienie [CONNECTION] grpcChannelCredential można skonfigurować tylko wtedy, gdy ustawienie [CONNECTION] transport ma wartość grpc.
  12. Wartość [CONNECTION] grpcChannelCredential można ustawić tylko wtedy, gdy wartość [CONNECTION] grpcChannelIsSecure to true.