ไลบรารีของไคลเอ็นต์ Perl ของ Google Ads API มีการตั้งค่าการกำหนดค่าหลายอย่างที่คุณใช้เพื่อปรับแต่งลักษณะการทำงานของไลบรารีได้
ไฟล์การกำหนดค่า
คุณสามารถระบุไฟล์ 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,
});
ซึ่งในกรณีนี้ไคลเอ็นต์จะค้นหาไฟล์ที่เส้นทางนั้น
วิธีที่ง่ายที่สุดในการสร้างไฟล์นี้คือการคัดลอก googleads.properties จากที่เก็บ GitHub และแก้ไขให้มีรหัสไคลเอ็นต์ รหัสลับไคลเอ็นต์ และโทเค็นการรีเฟรช
การกำหนดค่าแบบไดนามิก
คุณสามารถตั้งค่าการกำหนดค่าแบบไดนามิกเมื่อสร้างอินสแตนซ์ไลบรารี หรือหลังจากสร้างอินสแตนซ์แล้ว ดังนี้
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");
นอกจากนี้ คุณยังรับออบเจ็กต์ OAuth2ApplicationsHandler จากอินสแตนซ์ Client และเปลี่ยนรหัสไคลเอ็นต์ รหัสลับไคลเอ็นต์ และโทเค็นการรีเฟรชที่รันไทม์ได้ด้วย โดยทำดังนี้
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(clientIdในgoogleads.properties,GOOGLE_ADS_CLIENT_ID): รหัสไคลเอ็นต์ OAuth2client_secret(clientSecretในgoogleads.properties,GOOGLE_ADS_CLIENT_SECRET): รหัสลับไคลเอ็นต์ OAuth2refresh_token(refreshTokenในgoogleads.properties,GOOGLE_ADS_REFRESH_TOKEN): โทเค็นการรีเฟรช OAuth2additional_scopes(additionalScopesในgoogleads.properties): ขอบเขต OAuth2 เพิ่มเติมที่ต้องขอ
ฟิลด์ที่ยังคงอยู่ใน OAuth2ServiceAccountsHandler:
json_key_file_path(jsonKeyFilePathในgoogleads.properties,GOOGLE_ADS_JSON_KEY_FILE_PATH): เส้นทางไปยังไฟล์คีย์ JSON ของบัญชีบริการimpersonated_email(impersonatedEmailในgoogleads.properties,GOOGLE_ADS_IMPERSONATED_EMAIL): อีเมลที่จะใช้เมื่อใช้การมอบสิทธิ์ทั่วทั้งโดเมนของ Google Workspaceadditional_scopes(additionalScopesในgoogleads.properties): ขอบเขต OAuth2 เพิ่มเติมที่ต้องขอ
ฟิลด์ที่ยังคงอยู่ใน Client:
login_customer_id(loginCustomerIdในgoogleads.properties,GOOGLE_ADS_LOGIN_CUSTOMER_ID): รหัสของบัญชีดูแลจัดการที่ใช้เพื่อเข้าถึงบัญชีลูกค้า ดูเอกสารประกอบเกี่ยวกับ login-customer-idlinked_customer_id(linkedCustomerIdในgoogleads.properties,GOOGLE_ADS_LINKED_CUSTOMER_ID): รหัสลูกค้าที่ลิงก์service_address(serviceAddressในgoogleads.properties,GOOGLE_ADS_ENDPOINT): URL ที่อยู่บริการของ Google Ads API (ค่าเริ่มต้นคือ"https://googleads.googleapis.com")user_agent(userAgentในgoogleads.properties,GOOGLE_ADS_PERL_USER_AGENT): คำนำหน้าส่วนหัว User Agent ที่กำหนดเองซึ่งรวมอยู่ในคำขอ HTTPproxy(proxyในgoogleads.properties,GOOGLE_ADS_PERL_PROXY): URL พร็อกซีเซิร์ฟเวอร์ที่ใช้สำหรับการเชื่อมต่ออินเทอร์เน็ตversion(Client->newหรือset_version): โมดูลเวอร์ชัน Google Ads API ที่จะใช้ (ค่าเริ่มต้นคือ"V26")die_on_faults(Client->newหรือset_die_on_faults): ตั้งค่าเป็น1เพื่อให้เมธอดบริการเรียกใช้die()ด้วยเพย์โหลดการตอบกลับดิบเมื่อเกิดข้อผิดพลาดของ API แทนที่จะแสดงผลออบเจ็กต์Google::Ads::GoogleAds::GoogleAdsException(ค่าเริ่มต้นคือ0)http_timeout(Client->newหรือset_http_timeout): ระยะหมดเวลาของ HTTP เป็นวินาที (ค่าเริ่มต้นคือ3600)http_retry_timing(Client->newหรือset_http_retry_timing): ช่วงเวลาหยุดชั่วคราวของการลองใหม่เป็นวินาทีสำหรับข้อผิดพลาด HTTP503และ504ชั่วคราว (ค่าเริ่มต้นคือ"5,10,15")