Клиентская библиотека 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_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->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 (по умолчаниюhttps://www.googleapis.com/auth/adwordsвv32.1.0и более поздних версиях; требуется в версиях доv32.1.0или при использовании пользовательских областей действия; не считывается из переменной средыfromEnvironmentVariables()).[OAUTH2] impersonatedEmail– необязательный адрес электронной почты, который можно использовать для делегирования доступа к домену Google Workspace.
- Режим Application Default Credentials:
- Если не заданы поля Application mode (Режим приложения) и Service account mode (Режим сервисного аккаунта),
OAuth2TokenBuilderавтоматически возвращается к учетным данным по умолчанию для приложения (ADC).
- Если не заданы поля Application mode (Режим приложения) и Service account mode (Режим сервисного аккаунта),
- Режим приложения:
- Поля, используемые
GoogleAdsClientBuilder:[GOOGLE_ADS] loginCustomerId– идентификатор авторизованного клиента, который нужно использовать в запросе.[GOOGLE_ADS] linkedCustomerId– идентификатор связанного клиента.[GOOGLE_ADS] endpoint– необязательная альтернативная конечная точка сервера Google Ads API.[LOGGING] logFilePath– путь для вывода журнала.[LOGGING] logLevel– уровень ведения журнала.[CONNECTION] proxy– URL прокси-сервера, используемого для подключения к интернету.[CONNECTION] transport– сетевой транспорт (grpcилиrest).[CONNECTION] grpcChannelIsSecure– защищен ли канал gRPC.[CONNECTION] grpcChannelCredential: учетные данные канала gRPC.[CONNECTION] unaryMiddlewares: унарные промежуточные слои.[CONNECTION] streamingMiddlewares– промежуточное ПО для потоковой передачи.[CONNECTION] grpcInterceptors– перехватчики gRPC.
Проверка конфигурации
Настройки конфигурации проверяются при создании экземпляров клиентов, и в случае их недействительности генерируются исключения. Правила проверки:
[OAUTH2]Поля не должны быть заданы одновременно для режима приложения и режима сервисного аккаунта.- При использовании режима сервисного аккаунта необходимо задать параметр
[OAUTH2] jsonKeyFilePath(в версиях доv32.1.0также необходимо задать параметр[OAUTH2] scopes; в версииv32.1.0и более поздних для параметраscopesпо умолчанию используется значениеhttps://www.googleapis.com/auth/adwords). - При использовании режима приложения необходимо задать
[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] transportне задано значениеgrpc, то для параметра[CONNECTION] grpcChannelIsSecureдолжно быть задано значениеtrue(для подключений REST всегда требуется HTTPS). - Параметр
[CONNECTION] grpcChannelCredentialможно задать, только если для параметра[CONNECTION] transportустановлено значениеgrpc. - Параметр
[CONNECTION] grpcChannelCredentialможно задать, только если для параметра[CONNECTION] grpcChannelIsSecureустановлено значениеtrue.