การกำหนดค่า

ไลบรารีของไคลเอ็นต์ PHP ของ Google Ads API มีการตั้งค่าการกำหนดค่าหลายอย่างที่คุณสามารถใช้เพื่อปรับแต่งลักษณะการทำงานของไลบรารีได้

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

คุณสามารถจัดเก็บการตั้งค่าการกำหนดค่าส่วนใหญ่เหล่านี้ไว้ในไฟล์การกำหนดค่า 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_HERE')
    ->withClientSecret('INSERT_CLIENT_SECRET_HERE')
    ->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
    ->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 (ค่าเริ่มต้นคือ https://www.googleapis.com/auth/adwords ใน v32.1.0 และใหม่กว่า ต้องระบุในเวอร์ชันก่อน v32.1.0 หรือเมื่อใช้ขอบเขตที่กำหนดเอง fromEnvironmentVariables() จะไม่อ่านจากตัวแปรสภาพแวดล้อม)
      • [OAUTH2] impersonatedEmail: อีเมลที่ไม่บังคับเพื่อใช้ในการแอบอ้างเป็นบุคคลอื่นเมื่อใช้การมอบสิทธิ์ทั่วทั้งโดเมนของ Google Workspace
    • โหมดข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
      • เมื่อไม่ได้ตั้งค่าช่องโหมดแอปพลิเคชันหรือโหมดบัญชีบริการ OAuth2TokenBuilder จะเปลี่ยนกลับไปใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน (ADC) โดยอัตโนมัติ
  2. ช่องที่ GoogleAdsClientBuilder ใช้:
    • [GOOGLE_ADS] loginCustomerId: รหัสของลูกค้าที่ได้รับสิทธิ์เพื่อใช้ในคำขอ
    • [GOOGLE_ADS] linkedCustomerId: รหัสลูกค้าที่ลิงก์
    • [GOOGLE_ADS] endpoint: ปลายทางเซิร์ฟเวอร์ Google Ads API ทางเลือก (ไม่บังคับ)
    • [LOGGING] logFilePath: เส้นทางสำหรับเอาต์พุตการบันทึก
    • [LOGGING] logLevel: ระดับการบันทึก
    • [CONNECTION] proxy: URL พร็อกซีเซิร์ฟเวอร์ที่ใช้สำหรับการเชื่อมต่ออินเทอร์เน็ต
    • [CONNECTION] transport: การรับส่งข้อมูลในเครือข่าย (grpc หรือ rest)
    • [CONNECTION] grpcChannelIsSecure: ช่องทาง gRPC ปลอดภัยหรือไม่
    • [CONNECTION] grpcChannelCredential: ข้อมูลเข้าสู่ระบบของช่องทาง gRPC
    • [CONNECTION] unaryMiddlewares: มิดเดิลแวร์แบบ Unary
    • [CONNECTION] streamingMiddlewares: มิดเดิลแวร์สตรีมมิง
    • [CONNECTION] grpcInterceptors: ตัวสกัดกั้น gRPC

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

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

  1. ต้องไม่ตั้งค่าช่อง [OAUTH2] สำหรับทั้งโหมดแอปพลิเคชันและโหมดบัญชีบริการพร้อมกัน
  2. ต้องตั้งค่า [OAUTH2] jsonKeyFilePath เมื่อใช้โหมดบัญชีบริการ (ในเวอร์ชันก่อน v32.1.0 ต้องตั้งค่า [OAUTH2] scopes ด้วย ส่วนในเวอร์ชัน v32.1.0 ขึ้นไป scopes จะมีค่าเริ่มต้นเป็น https://www.googleapis.com/auth/adwords)
  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 (การเชื่อมต่อ REST ต้องใช้ HTTPS เสมอ)
  10. คุณจะตั้งค่า [CONNECTION] grpcChannelCredential ได้ก็ต่อเมื่อตั้งค่า [CONNECTION] transport เป็น grpc เท่านั้น
  11. ตั้งค่า [CONNECTION] grpcChannelCredential ได้ก็ต่อเมื่อ [CONNECTION] grpcChannelIsSecure เป็น true เท่านั้น