Конфигурация

Клиентская библиотека PHP Google Ads API предоставляет несколько параметров конфигурации, которые можно использовать для настройки поведения библиотеки.

Конфигурационный файл

Вы можете сохранить большинство этих параметров конфигурации в ini -файлах и использовать их при создании экземпляров клиентов, например google_ads_php.ini .

Разработчики учетных данных и клиентов предоставляют методы fromFile для загрузки настроек из таких файлов:

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

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

Если в качестве аргумента не указан путь к файлу конфигурации, методы fromFile загружаются из пути к файлу конфигурации по умолчанию, который:

  1. Значение переменной среды с именем GOOGLE_ADS_CONFIGURATION_FILE_PATH , если она установлена.
  2. В противном случае файл google_ads_php.ini находится в вашем HOME каталоге.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

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

Динамическая конфигурация

Эти параметры конфигурации можно устанавливать динамически при создании экземпляров клиентов.

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

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

Переменные среды конфигурации

Вы можете установить некоторые параметры конфигурации из переменных среды при создании экземпляров клиентов (см. исчерпывающий список ).

Разработчики учетных данных и клиентов предоставляют методы fromEnvironmentVariables для загрузки настроек из переменных среды:

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

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

Поля конфигурации

Параметры конфигурации поддерживают несколько полей, организованных по категориям.

  1. Поля, используемые OAuth2TokenBuilder :
    • Режим приложения
      • [OAUTH2] clientId : ваш идентификатор клиента OAuth2.
      • [OAUTH2] clientSecret : секрет вашего клиента OAuth2.
      • [OAUTH2] refreshToken : ваш токен обновления OAuth2.
    • Режим учетной записи службы
      • [OAUTH2] jsonKeyFilePath : путь к файлу ключей Json.
      • [OAUTH2] scopes : области.
      • [OAUTH2] impersonatedEmail : адрес электронной почты, который нужно выдать за другое лицо.
  2. Поля, используемые GoogleAdsClientBuilder :
    • [GOOGLE_ADS] developerToken : ваш токен разработчика для доступа к API.
    • [GOOGLE_ADS] loginCustomerId : идентификатор авторизованного клиента , который будет использоваться в запросе.
    • [GOOGLE_ADS] linkedCustomerId : идентификатор связанного клиента.
    • [LOGGING] logFilePath : путь к файлу для ведения журнала.
    • [LOGGING] logLevel : уровень ведения журнала.
    • [CONNECTION] proxy : URL-адрес прокси-сервера, используемый для подключения к Интернету.
    • [CONNECTION] transport : Транспорт.
    • [CONNECTION] grpcChannelIsSecure : является ли канал gRPC безопасным или нет.
    • [CONNECTION] grpcChannelCredential : учетные данные канала gRPC.
    • [CONNECTION] unaryMiddlewares : унарное промежуточное ПО.
    • [CONNECTION] streamingMiddlewares : промежуточное ПО потоковой передачи.
    • [CONNECTION] grpcInterceptors : перехватчики gRPC.

Проверка конфигурации

Параметры конфигурации проверяются при создании экземпляров клиентов, а исключения выдаются, если они недействительны. Вот правила:

  1. Поля [OAUTH2] не должны быть установлены одновременно для режима приложения и режима учетной записи службы.
  2. Области [OAUTH2] jsonKeyFilePath и [OAUTH2] scopes должны быть установлены при использовании режима учетной записи службы.
  3. [OAUTH2] clientId , [OAUTH2] clientSecret и [OAUTH2] refreshToken должны быть установлены при использовании режима приложения.
  4. [GOOGLE_ADS] developerToken должен быть установлен всегда.
  5. Если установлено, [GOOGLE_ADS] loginCustomerId и [GOOGLE_ADS] linkedCustomerId должны быть положительными числами.
  6. Если установлено, [CONNECTION] proxy должен быть действительным URL-адресом (см. фильтр FILTER_VALIDATE_URL ).
  7. Если установлено, [LOGGING] logLevel должен быть допустимым уровнем журнала PSR, написанным заглавными буквами, например INFO .
  8. Если установлено, [CONNECTION] transport должно быть либо grpc , либо rest .
  9. Если для [CONNECTION] transport установлено значение grpc , транспорт gRPC должен поддерживаться средой (см. руководство по транспорту ).
  10. [CONNECTION] grpcChannelIsSecure должно иметь true , если [CONNECTION] transport не установлено значение grpc .
  11. [CONNECTION] grpcChannelCredential можно установить только в том случае, если для [CONNECTION] transport установлено значение grpc .
  12. [CONNECTION] grpcChannelCredential можно установить только в том случае, если [CONNECTION] grpcChannelIsSecure имеет true .