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)
// ...
->build();
配置环境变量
您可以在实例化客户端时从环境变量设置部分配置设置(请参阅完整列表)。
凭据和客户端构建器都提供了 fromEnvironmentVariables 方法,用于从环境变量加载设置:
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
配置字段
配置设置支持按类别组织的多个字段。
OAuth2TokenBuilder使用的字段:- 应用模式
[OAUTH2] clientId:您的 OAuth2 客户端 ID。[OAUTH2] clientSecret:您的 OAuth2 客户端密钥。[OAUTH2] refreshToken:您的 OAuth2 刷新令牌。
- 服务账号模式
[OAUTH2] jsonKeyFilePath:JSON 密钥路径。[OAUTH2] scopes:范围。[OAUTH2] impersonatedEmail:要模拟的电子邮件地址。
- 应用模式
GoogleAdsClientBuilder使用的字段:[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 拦截器。
配置验证
系统会在实例化客户端时检查配置设置,如果配置无效,则会抛出异常。规则如下:
- 不得同时为应用模式和服务账号模式设置
[OAUTH2]字段。 - 使用服务账号模式时,必须设置
[OAUTH2] jsonKeyFilePath和[OAUTH2] scopes。 - 使用应用模式时,必须设置
[OAUTH2] clientId、[OAUTH2] clientSecret和[OAUTH2] refreshToken。 - 如果已设置,
[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。