Google Ads API Perl 클라이언트 라이브러리는 라이브러리 동작을 맞춤설정하는 데 사용할 수 있는 여러 구성 설정을 제공합니다.
구성 파일
클라이언트를 인스턴스화할 때 사용할 googleads.properties 파일을 지정할 수 있습니다.
인스턴스화할 때 인수를 사용하지 않는 경우:
my $api_client = Google::Ads::GoogleAds::Client->new();
그러면 라이브러리가 HOME 디렉터리에서 파일을 찾거나 GOOGLE_ADS_CONFIGURATION_FILE_PATH 환경 변수가 설정된 경우 지정된 경로에서 파일을 찾습니다.
또는 경로를 명시적으로 지정할 수 있습니다.
my $properties_file = "/path/to/googleads.properties";
my $api_client = Google::Ads::GoogleAds::Client->new({
properties_file => $properties_file,
});
이 경우 클라이언트는 해당 경로에서 파일을 찾습니다.
이 파일을 생성하는 가장 쉬운 방법은 GitHub 저장소에서 googleads.properties를 복사하고 클라이언트 ID, 클라이언트 보안 비밀번호, 갱신 토큰을 포함하도록 수정하는 것입니다.
동적 구성
라이브러리를 인스턴스화할 때 또는 인스턴스화한 후에 구성을 동적으로 설정할 수 있습니다.
my $api_client = Google::Ads::GoogleAds::Client->new({
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});
인스턴스화 후 구성을 수정할 수도 있습니다.
$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");
Client 인스턴스에서 OAuth2ApplicationsHandler 객체를 가져와 런타임에 클라이언트 ID, 클라이언트 보안 비밀번호, 갱신 토큰을 변경할 수도 있습니다.
my $oauth2_applications_handler =
$api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID_HERE");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET_HERE");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN_HERE");
구성 환경 변수
클라이언트를 인스턴스화할 때 환경 변수에서 일부 구성 설정을 지정할 수 있습니다(표준 환경 변수 참조).
Client 모듈은 환경 변수에서 값을 로드하는 configure_from_environment_variables 함수를 제공합니다.
# Get the Google Ads API Client. By default, any credentials are read from
# ~/googleads.properties, or, if set, from the file specified in the
# GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.
my $api_client = Google::Ads::GoogleAds::Client->new();
# Load the configuration from any set environment variables.
$api_client->configure_from_environment_variables();
구성 필드
googleads.properties 키는 camelCase (예: loginCustomerId 및 linkedCustomerId)를 사용하는 반면 Client->new({...}) 생성자 인수 및 핸들러 메서드는 snake_case (예: login_customer_id 및 linked_customer_id)를 사용합니다.
OAuth2ApplicationsHandler에 유지되는 필드:
client_id(googleads.properties의clientId,GOOGLE_ADS_CLIENT_ID): OAuth2 클라이언트 ID입니다.client_secret(googleads.properties의clientSecret,GOOGLE_ADS_CLIENT_SECRET): OAuth2 클라이언트 보안 비밀번호입니다.refresh_token(googleads.properties의refreshToken,GOOGLE_ADS_REFRESH_TOKEN): OAuth2 갱신 토큰입니다.additional_scopes(googleads.properties의additionalScopes): 요청할 추가 OAuth2 범위입니다.
OAuth2ServiceAccountsHandler에 유지되는 필드:
json_key_file_path(googleads.properties의jsonKeyFilePath,GOOGLE_ADS_JSON_KEY_FILE_PATH): 서비스 계정 JSON 키 파일의 경로입니다.impersonated_email(googleads.properties의impersonatedEmail,GOOGLE_ADS_IMPERSONATED_EMAIL): Google Workspace 도메인 전체 위임을 사용할 때 가장할 이메일 주소입니다.additional_scopes(googleads.properties의additionalScopes): 요청할 추가 OAuth2 범위입니다.
Client에 유지되는 필드:
login_customer_id(googleads.properties의loginCustomerId,GOOGLE_ADS_LOGIN_CUSTOMER_ID): 고객 계정에 액세스하는 데 사용되는 관리자 계정의 ID입니다. login-customer-id 문서를 참고하세요.linked_customer_id(googleads.properties의linkedCustomerId,GOOGLE_ADS_LINKED_CUSTOMER_ID): 연결된 고객 ID입니다.service_address(googleads.properties의serviceAddress,GOOGLE_ADS_ENDPOINT): Google Ads API 서비스 주소 URL입니다 (기본값은"https://googleads.googleapis.com").user_agent(googleads.properties의userAgent,GOOGLE_ADS_PERL_USER_AGENT): HTTP 요청에 포함된 커스텀 사용자 에이전트 헤더 프리픽스입니다.proxy(googleads.properties의proxy,GOOGLE_ADS_PERL_PROXY): 인터넷 연결에 사용되는 프록시 서버 URL입니다.version(Client->new또는set_version): 사용할 Google Ads API 버전 모듈입니다 (기본값은"V26").die_on_faults(Client->new또는set_die_on_faults):Google::Ads::GoogleAds::GoogleAdsException객체를 반환하는 대신 API 오류 시 원시 응답 페이로드로 서비스 메서드가die()를 호출하도록 하려면1로 설정합니다(기본값은0).http_timeout(Client->new또는set_http_timeout): HTTP 제한 시간(초)(기본값은3600)http_retry_timing(Client->new또는set_http_retry_timing): 일시적인 HTTP503및504오류의 재시도 일시중지 간격(초)입니다(기본값은"5,10,15").