การกำหนดค่า

ไลบรารีไคลเอ็นต์ 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')
    // ...
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->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] developerToken: โทเค็นของนักพัฒนาสำหรับการเข้าถึง API
    • [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
  3. [GAPIC] useGapicV2Source: จะใช้แหล่งที่มา GAPIC v2 หรือไม่ เมื่อสร้างไคลเอ็นต์บริการ

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

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

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