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

Клиентская 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)
    // ...
    ->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] 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] loginCustomerId и [GOOGLE_ADS] linkedCustomerId должны быть положительными числами.
  5. Если задано, [CONNECTION] proxy должен быть допустимым URL-адресом (см. фильтр FILTER_VALIDATE_URL ).
  6. Если задано значение [LOGGING] logLevel должен быть допустимым уровнем логирования PSR, написанным заглавными буквами, например, INFO .
  7. Если задано, [CONNECTION] transport должно быть либо grpc , либо rest .
  8. Если для [CONNECTION] transport установлено значение grpc , среда должна поддерживать транспорт gRPC (см. руководство по транспорту ).
  9. [CONNECTION] grpcChannelIsSecure должно быть true если для [CONNECTION] transport не установлено значение grpc .
  10. [CONNECTION] grpcChannelCredential можно установить только в том случае, если для [CONNECTION] transport установлено значение grpc .
  11. [CONNECTION] grpcChannelCredential может быть установлено только тогда, когда [CONNECTION] grpcChannelIsSecure имеет true .