Клиентская 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.
-
- Режим учетных данных приложения по умолчанию:
- Если поля «Режим приложения» и «Режим учетной записи службы» не заданы,
OAuth2TokenBuilderавтоматически переключается на учетные данные приложения по умолчанию (ADC).
- Если поля «Режим приложения» и «Режим учетной записи службы» не заданы,
- Режим работы приложения:
- Поля, используемые
GoogleAdsClientBuilder:-
[GOOGLE_ADS] developerToken: ( Закрытие 9 сентября 2026 г. ) Ваш токен разработчика Google Ads API. Необязателен, игнорируется серверами API независимо от версии клиентской библиотеки и будет отклонен в будущей основной версии Google Ads API.-
v35.0.0и более поздние : не требуется при инициализации клиента (GoogleAdsClientBuilderудалил локальную проверку токена разработчика на стороне клиента). - Версии до
v35.0.0: Требуются для локальной проверки конфигурации на стороне клиента.
-
-
[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. - В версиях до
v35.0.0проверка[GOOGLE_ADS] developerTokenвыполняется локально на стороне клиента (в версияхv35.0.0и более поздних версиях[GOOGLE_ADS] developerTokenне требуется). - Если задано, то значения
[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(REST-соединения всегда требуют HTTPS). -
[CONNECTION] grpcChannelCredentialможно установить только в том случае, если для[CONNECTION] transportустановлено значениеgrpc. -
[CONNECTION] grpcChannelCredentialможет быть установлено только тогда, когда[CONNECTION] grpcChannelIsSecureимеетtrue.