구성

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 메서드는 다음과 같은 기본 구성 파일 경로에서 로드됩니다.

  1. 이름이 설정된 경우 GOOGLE_ADS_CONFIGURATION_FILE_PATH입니다.
  2. 그 외의 경우에는 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();

구성 환경 변수

gcloud 명령어를 사용하거나 실행하지 않을 때 환경 변수에서 인스턴스화하고 (자세한 내용은 목록 참조).

사용자 인증 정보와 클라이언트 빌더는 모두 fromEnvironmentVariables를 제공합니다. 메서드를 사용하여 환경 변수에서 설정을 로드합니다.

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

구성 필드

구성 설정은 카테고리별로 구성된 여러 필드를 지원합니다.

  1. OAuth2TokenBuilder에서 사용하는 필드:
    • 애플리케이션 모드
      • [OAUTH2] clientId: OAuth2 클라이언트 ID입니다.
      • [OAUTH2] clientSecret: OAuth2 클라이언트 보안 비밀번호입니다.
      • [OAUTH2] refreshToken: OAuth2 갱신 토큰입니다.
    • 서비스 계정 모드
      • [OAUTH2] jsonKeyFilePath: JSON 키 파일 경로입니다.
      • [OAUTH2] scopes: 범위입니다.
      • [OAUTH2] impersonatedEmail: 가장할 이메일입니다.
  2. 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 인터셉터입니다.
  3. [GAPIC] useGapicV2Source: GAPIC v2 소스 사용 여부 서비스 클라이언트를 만들 때 코드를 생성합니다.

구성 검증

클라이언트 및 예외를 인스턴스화할 때 구성 설정을 확인합니다. 잘못된 경우 발생합니다 규칙은 다음과 같습니다.

  1. 애플리케이션 모드와 서비스 모두에 [OAUTH2] 필드를 설정하면 안 됩니다. 동시에 계정 모드로 전환하세요.
  2. [OAUTH2] jsonKeyFilePath[OAUTH2] scopes는 서비스 계정 모드입니다
  3. [OAUTH2] clientId, [OAUTH2] clientSecret, [OAUTH2] refreshToken은(는) 다음을 충족해야 합니다. 애플리케이션 모드를 사용할 때 설정해야 합니다.
  4. [GOOGLE_ADS] developerToken는 항상 설정해야 합니다.
  5. 설정된 경우 [GOOGLE_ADS] loginCustomerId[GOOGLE_ADS] linkedCustomerId 양수여야 합니다.
  6. 설정할 경우 [CONNECTION] proxy은(는) 유효한 URL이어야 합니다(필터 참조). FILTER_VALIDATE_URL).
  7. 설정된 경우 [LOGGING] logLevel는 유효한 PSR 로그여야 합니다. 등급 대문자(예: INFO)
  8. 설정하는 경우 [CONNECTION] transportgrpc 또는 rest여야 합니다.
  9. [CONNECTION] transportgrpc로 설정된 경우 gRPC 전송은 지원되는 환경입니다 (전송 가이드 참고).
  10. [CONNECTION] transportgrpc로 설정되지 않은 경우 [CONNECTION] grpcChannelIsSecuretrue여야 합니다.
  11. [CONNECTION] transportgrpc로 설정된 경우에만 [CONNECTION] grpcChannelCredential를 설정할 수 있습니다.
  12. [CONNECTION] grpcChannelIsSecuretrue인 경우에만 [CONNECTION] grpcChannelCredential를 설정할 수 있습니다.