การกำหนดค่า

ไลบรารีของไคลเอ็นต์ 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. ไม่เช่นนั้น ไฟล์ google_ads_php.ini ในไดเรกทอรี HOME
$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)
    // ...
    ->build();

ตัวแปรสภาพแวดล้อมของการกำหนดค่า

คุณสามารถตั้งค่าการกำหนดค่าบางอย่างจากตัวแปรสภาพแวดล้อมเมื่อ สร้างอินสแตนซ์ของไคลเอ็นต์ (ดูรายการทั้งหมด)

ทั้งตัวสร้างข้อมูลเข้าสู่ระบบและตัวสร้างไคลเอ็นต์มีเมธอด fromEnvironmentVariables เพื่อโหลดการตั้งค่าจากตัวแปรสภาพแวดล้อม

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

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

ฟิลด์การกำหนดค่า

การตั้งค่าการกำหนดค่ารองรับฟิลด์หลายรายการที่จัดระเบียบเป็นหมวดหมู่

  1. ฟิลด์ที่ใช้โดย OAuth2TokenBuilder
    • โหมดของแอปพลิเคชัน
      • [OAUTH2] clientId: รหัสไคลเอ็นต์ OAuth2
      • [OAUTH2] clientSecret: ข้อมูลลับของไคลเอ็นต์ OAuth2
      • [OAUTH2] refreshToken: โทเค็นการรีเฟรช OAuth2 ของคุณ
    • โหมดบัญชีบริการ
      • [OAUTH2] jsonKeyFilePath: เส้นทางของคีย์ Json
      • [OAUTH2] scopes: ขอบเขต
      • [OAUTH2] impersonatedEmail: อีเมลที่จะปลอมตัว
  2. ฟิลด์ที่ใช้โดย GoogleAdsClientBuilder
    • [GOOGLE_ADS] loginCustomerId: รหัส ลูกค้าที่ได้รับอนุญาตให้ใช้ในคำขอ
    • [GOOGLE_ADS] linkedCustomerId: รหัสลูกค้าที่ลิงก์
    • [LOGGING] logFilePath: เส้นทางสำหรับการบันทึก
    • [LOGGING] logLevel: ระดับการบันทึก
    • [CONNECTION] proxy: URL ของพร็อกซีเซิร์ฟเวอร์ที่ใช้สำหรับการเชื่อมต่ออินเทอร์เน็ต
    • [CONNECTION] transport: การขนส่ง
    • [CONNECTION] grpcChannelIsSecure: ช่อง gRPC ปลอดภัยหรือไม่
    • [CONNECTION] grpcChannelCredential: ข้อมูลเข้าสู่ระบบของช่อง gRPC
    • [CONNECTION] unaryMiddlewares: มิดเดิลแวร์แบบเอกภาค
    • [CONNECTION] streamingMiddlewares: มิดเดิลแวร์แบบสตรีมมิง
    • [CONNECTION] grpcInterceptors: ตัวสกัดกั้น gRPC

การตรวจสอบการกำหนดค่า

ระบบจะตรวจสอบการตั้งค่าการกำหนดค่าเมื่อสร้างอินสแตนซ์ของไคลเอ็นต์ และจะแสดงข้อยกเว้นเมื่อการตั้งค่าไม่ถูกต้อง กฎมีดังนี้

  1. คุณต้องไม่ตั้งค่าฟิลด์ [OAUTH2] สำหรับทั้งโหมดของแอปพลิเคชันและโหมดบัญชีบริการพร้อมกัน
  2. คุณต้องตั้งค่า [OAUTH2] jsonKeyFilePath และ [OAUTH2] scopes เมื่อใช้โหมดบัญชีบริการ
  3. คุณต้องตั้งค่า [OAUTH2] clientId, [OAUTH2] clientSecret และ [OAUTH2] refreshToken เมื่อใช้โหมดของแอปพลิเคชัน
  4. หากตั้งค่าไว้ [GOOGLE_ADS] loginCustomerId และ [GOOGLE_ADS] linkedCustomerId ต้องเป็นจำนวนบวก
  5. หากตั้งค่าไว้ [CONNECTION] proxy ต้องเป็น URL ที่ถูกต้อง (ดูตัวกรอง FILTER_VALIDATE_URL)
  6. หากตั้งค่าไว้ [LOGGING] logLevel ต้องเป็นระดับการบันทึก PSR ที่ถูกต้องใน ตัวอักษรพิมพ์ใหญ่ เช่น INFO
  7. หากตั้งค่าไว้ [CONNECTION] transport ต้องเป็น grpc หรือ rest
  8. หากตั้งค่า [CONNECTION] transport เป็น grpc สภาพแวดล้อมต้อง รองรับการขนส่ง gRPC (ดูคู่มือ การขนส่ง)
  9. [CONNECTION] grpcChannelIsSecure ต้องเป็น true เมื่อไม่ได้ตั้งค่า [CONNECTION] transport เป็น grpc
  10. [CONNECTION] grpcChannelCredential จะตั้งค่าได้ก็ต่อเมื่อตั้งค่า [CONNECTION] transport เป็น grpc
  11. [CONNECTION] grpcChannelCredential จะตั้งค่าได้ก็ต่อเมื่อ [CONNECTION] grpcChannelIsSecure เป็น true