การกำหนดค่า

ไลบรารีของไคลเอ็นต์ 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,
});

ในกรณีนี้ ไคลเอ็นต์จะค้นหาไฟล์ในเส้นทางดังกล่าว

วิธีที่ง่ายที่สุดในการสร้างไฟล์นี้คือการคัดลอก 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): รหัสไคลเอ็นต์ OAuth2
  • client_secret (clientSecret ใน googleads.properties, GOOGLE_ADS_CLIENT_SECRET): รหัสลับไคลเอ็นต์ OAuth2
  • refresh_token (refreshToken ใน googleads.properties, GOOGLE_ADS_REFRESH_TOKEN): โทเค็นการรีเฟรช OAuth2
  • additional_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 Workspace
  • additional_scopes (additionalScopes ใน googleads.properties): ขอบเขต OAuth2 เพิ่มเติมที่จะขอ

ฟิลด์ที่คงอยู่ใน Client

  • developer_token (developerToken ใน googleads.properties, GOOGLE_ADS_DEVELOPER_TOKEN): (หยุดให้บริการในวันที่ 9 กันยายน 2026) โทเค็นของนักพัฒนา Google Ads API ไม่บังคับ เซิร์ฟเวอร์ API จะไม่สนใจพารามิเตอร์นี้ไม่ว่าไลบรารีของไคลเอ็นต์จะเป็นเวอร์ชันใด และ จะถูกปฏิเสธใน Google Ads API เวอร์ชันหลักในอนาคต
    • v35.0.0 ขึ้นไป: ไม่จำเป็นเมื่อเริ่มต้นไคลเอ็นต์ (การตรวจสอบฝั่งไคลเอ็นต์ในเครื่อง developerToken ถูกนำออกใน v35.0.0)
    • เวอร์ชันก่อน v35.0.0: ต้องมีการตรวจสอบการกำหนดค่าฝั่งไคลเอ็นต์ในพื้นที่ หากคุณยังไม่ได้อัปเกรดเป็น v35.0.0 หรือเวอร์ชันที่ใหม่กว่า
  • login_customer_id (loginCustomerId ใน googleads.properties, GOOGLE_ADS_LOGIN_CUSTOMER_ID): รหัสของบัญชีดูแลจัดการที่ใช้ เข้าถึงบัญชีลูกค้า ดูเอกสารประกอบเกี่ยวกับรหัสลูกค้าสำหรับเข้าสู่ระบบ
  • linked_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 ที่กำหนดเองซึ่งรวมอยู่ใน คำขอ HTTP
  • proxy (proxy ใน googleads.properties, GOOGLE_ADS_PERL_PROXY): URL ของพร็อกซีเซิร์ฟเวอร์ที่ใช้สำหรับการเชื่อมต่ออินเทอร์เน็ต
  • version (Client->new หรือ set_version): โมดูลเวอร์ชัน Google Ads API ที่จะใช้ (ค่าเริ่มต้นคือ "V25")
  • 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): ช่วงเวลาหยุดชั่วคราวเพื่อลองอีกครั้งเป็นวินาทีสำหรับข้อผิดพลาด HTTP 503 และ 504 ชั่วคราว (ค่าเริ่มต้นคือ "5,10,15")