Google Ads API PHP 客户端库提供了数种配置设置, 来自定义库行为
配置文件
您可以将大部分配置设置存储在
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
(如果已设置)。 - 否则,请查看
HOME
目录中的google_ads_php.ini
文件。
$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();
配置环境变量
您可以在运行代码时通过环境变量 实例化客户端(请参阅 list)。
凭据和客户端构建器均提供 fromEnvironmentVariables
从环境变量加载设置的方法:
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
配置字段
配置设置支持按类别整理多个字段。
OAuth2TokenBuilder
使用的字段: <ph type="x-smartling-placeholder">- </ph>
- 应用模式
<ph type="x-smartling-placeholder">
- </ph>
[OAUTH2] clientId
:您的 OAuth2 客户端 ID。[OAUTH2] clientSecret
:您的 OAuth2 客户端密钥。[OAUTH2] refreshToken
:您的 OAuth2 刷新令牌。
- 服务账号模式
<ph type="x-smartling-placeholder">
- </ph>
[OAUTH2] jsonKeyFilePath
:Json 密钥文件路径。[OAUTH2] scopes
:范围。[OAUTH2] impersonatedEmail
:要模拟的电子邮件。
- 应用模式
<ph type="x-smartling-placeholder">
GoogleAdsClientBuilder
使用的字段: <ph type="x-smartling-placeholder">- </ph>
[GOOGLE_ADS] developerToken
:用于访问 API 的开发者令牌。[GOOGLE_ADS] loginCustomerId
:获得授权的ID 客户。[GOOGLE_ADS] linkedCustomerId
:关联的客户 ID。[LOGGING] logFilePath
:用于日志记录的文件路径。[LOGGING] logLevel
:日志记录级别。[CONNECTION] proxy
:用于互联网连接的代理服务器网址。[CONNECTION] transport
:传输。[CONNECTION] grpcChannelIsSecure
:gRPC 通道是安全通道还是 错误。[CONNECTION] grpcChannelCredential
:gRPC 通道凭据。[CONNECTION] unaryMiddlewares
:一元中间件。[CONNECTION] streamingMiddlewares
:流式传输中间件。[CONNECTION] grpcInterceptors
:gRPC 拦截器。
[GAPIC] useGapicV2Source
:是否使用 GAPIC v2 源代码 代码。
配置验证
在实例化客户端和异常时检查配置设置 无效时抛出的异常。具体规则如下:
- 不得同时为应用模式和服务设置
[OAUTH2]
字段 账号模式。 - 使用时必须设置
[OAUTH2] jsonKeyFilePath
和[OAUTH2] scopes
服务账号模式 [OAUTH2] clientId
、[OAUTH2] clientSecret
和[OAUTH2] refreshToken
必须 使用应用模式时必须设置此字段。- 必须始终设置
[GOOGLE_ADS] developerToken
。 - 如果设置了
[GOOGLE_ADS] loginCustomerId
和[GOOGLE_ADS] linkedCustomerId
, 必须为正数。 - 如果设置,
[CONNECTION] proxy
必须是有效网址(请参阅过滤条件) FILTER_VALIDATE_URL)。 - 如果设置,
[LOGGING] logLevel
必须是有效的 PSR 日志 级别在 大写字母,如INFO
。 - 如果设置,
[CONNECTION] transport
必须为grpc
或rest
。 - 如果
[CONNECTION] transport
设置为grpc
,则 gRPC 传输必须 (请参阅传输指南)。 - 当
[CONNECTION] transport
未设置为grpc
时,[CONNECTION] grpcChannelIsSecure
必须为true
。 - 仅当
[CONNECTION] transport
设置为grpc
时才能设置[CONNECTION] grpcChannelCredential
。 - 仅当
[CONNECTION] grpcChannelIsSecure
为true
时才能设置[CONNECTION] grpcChannelCredential
。