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();
구성 환경 변수
클라이언트를 인스턴스화할 때 환경 변수에서 일부 구성 설정을 지정할 수 있습니다 (전체 목록 참조).
사용자 인증 정보 및 클라이언트 빌더는 둘 다 환경 변수에서 설정을 로드하는 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] developerToken
: API에 액세스하기 위한 개발자 토큰입니다.[GOOGLE_ADS] loginCustomerId
: 요청에 사용할 승인된 고객의 ID입니다.[GOOGLE_ADS] linkedCustomerId
: 연결된 고객 ID입니다.[LOGGING] logFilePath
: 로깅을 위한 파일 경로입니다.[LOGGING] logLevel
: 로깅 수준입니다.[CONNECTION] proxy
: 인터넷 연결에 사용되는 프록시 서버 URL입니다.[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
는 유효한 URL이어야 합니다 (FILTER_VALIDATE_URL 필터 참고). - 설정된 경우
[LOGGING] logLevel
는 유효한 대문자(예:INFO
) PSR 로그 수준이어야 합니다. - 설정하는 경우
[CONNECTION] transport
는grpc
또는rest
여야 합니다. [CONNECTION] transport
가grpc
로 설정된 경우 gRPC 전송을 환경에서 지원해야 합니다 (전송 가이드 참조).[CONNECTION] transport
가grpc
로 설정되지 않은 경우[CONNECTION] grpcChannelIsSecure
는true
여야 합니다.[CONNECTION] transport
가grpc
로 설정된 경우에만[CONNECTION] grpcChannelCredential
를 설정할 수 있습니다.[CONNECTION] grpcChannelIsSecure
가true
인 경우에만[CONNECTION] grpcChannelCredential
를 설정할 수 있습니다.