การกำหนดค่า

ไลบรารีของไคลเอ็นต์ 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): รหัสไคลเอ็นต์ 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:

  • login_customer_id (loginCustomerId ใน googleads.properties, GOOGLE_ADS_LOGIN_CUSTOMER_ID): รหัสของบัญชีดูแลจัดการที่ใช้เพื่อเข้าถึงบัญชีลูกค้า ดูเอกสารประกอบเกี่ยวกับ 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 ที่จะใช้ (ค่าเริ่มต้นคือ "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): ช่วงเวลาหยุดชั่วคราวของการลองใหม่เป็นวินาทีสำหรับข้อผิดพลาด HTTP 503 และ 504 ชั่วคราว (ค่าเริ่มต้นคือ "5,10,15")