Клиентская 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 загружают данные из пути конфигурации по умолчанию, который равен:
- Значение переменной среды с именем
GOOGLE_ADS_CONFIGURATION_FILE_PATH, если она задана. - В противном случае, используйте файл
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();
Поля конфигурации
Настройки конфигурации поддерживают несколько полей, сгруппированных по категориям.
- Поля, используемые
OAuth2TokenBuilder:- Режим приложения
-
[OAUTH2] clientId: Ваш идентификатор клиента OAuth2. -
[OAUTH2] clientSecret: Ваш секретный ключ клиента OAuth2. -
[OAUTH2] refreshToken: Ваш токен обновления OAuth2.
-
- Режим служебной учетной записи
-
[OAUTH2] jsonKeyFilePath: Путь к JSON-ключу. -
[OAUTH2] scopes: Области действия. -
[OAUTH2] impersonatedEmail: Адрес электронной почты, который нужно имитировать.
-
- Режим приложения
- Поля, используемые
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.
-
Проверка конфигурации
При создании экземпляров клиентов проверяются параметры конфигурации, и при их некорректности генерируются исключения. Вот правила:
- Поля
[OAUTH2]не должны быть заданы одновременно для режима приложения и режима учетной записи службы. - При использовании режима учетной записи службы необходимо задать параметры
[OAUTH2] jsonKeyFilePathи[OAUTH2] scopes. - При использовании режима приложения необходимо установить параметры
[OAUTH2] clientId,[OAUTH2] clientSecretи[OAUTH2] refreshToken. - Если задано, то значения
[GOOGLE_ADS] loginCustomerIdи[GOOGLE_ADS] linkedCustomerIdдолжны быть положительными числами. - Если задано,
[CONNECTION] proxyдолжен быть допустимым URL-адресом (см. фильтр FILTER_VALIDATE_URL ). - Если задано значение
[LOGGING] logLevelдолжен быть допустимым уровнем логирования PSR, написанным заглавными буквами, например,INFO. - Если задано,
[CONNECTION] transportдолжно быть либоgrpc, либоrest. - Если для
[CONNECTION] transportустановлено значениеgrpc, среда должна поддерживать транспорт gRPC (см. руководство по транспорту ). -
[CONNECTION] grpcChannelIsSecureдолжно бытьtrueесли для[CONNECTION] transportне установлено значениеgrpc. -
[CONNECTION] grpcChannelCredentialможно установить только в том случае, если для[CONNECTION] transportустановлено значениеgrpc. -
[CONNECTION] grpcChannelCredentialможет быть установлено только тогда, когда[CONNECTION] grpcChannelIsSecureимеетtrue.