ไลบรารีของไคลเอ็นต์ 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 จะโหลดจากเส้นทางการกําหนดค่าเริ่มต้นซึ่งก็คือ
- ค่าของตัวแปรสภาพแวดล้อมที่มีชื่อว่า
GOOGLE_ADS_CONFIGURATION_FILE_PATHหากมีการตั้งค่า - หรือไฟล์
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();
ฟิลด์การกําหนดค่า
การตั้งค่าการกําหนดค่ารองรับช่องหลายช่องที่จัดระเบียบเป็นหมวดหมู่
- ช่องที่ใช้โดย
OAuth2TokenBuilder- โหมดแอปพลิเคชัน
[OAUTH2] clientId: รหัสไคลเอ็นต์ OAuth2[OAUTH2] clientSecret: รหัสลับไคลเอ็นต์ OAuth2[OAUTH2] refreshToken: โทเค็นการรีเฟรช OAuth2
- โหมดบัญชีบริการ
[OAUTH2] jsonKeyFilePath: เส้นทางไฟล์คีย์ JSON[OAUTH2] scopes: ขอบเขต[OAUTH2] impersonatedEmail: อีเมลที่จะแอบอ้างเป็นบุคคลอื่น
- โหมดแอปพลิเคชัน
- ช่องที่ใช้โดย
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: Interceptor ของ gRPC
การตรวจสอบการกำหนดค่า
ระบบจะตรวจสอบการตั้งค่าการกําหนดค่าเมื่อสร้างอินสแตนซ์ไคลเอ็นต์และจะแสดงข้อยกเว้นเมื่อไม่ถูกต้อง กฎมีดังนี้
- คุณต้องไม่ตั้งค่าช่อง
[OAUTH2]สำหรับทั้งโหมดแอปพลิเคชันและโหมดบัญชีบริการพร้อมกัน - คุณต้องตั้งค่า
[OAUTH2] jsonKeyFilePathและ[OAUTH2] scopesเมื่อใช้โหมดบัญชีบริการ - คุณต้องตั้งค่า
[OAUTH2] clientId,[OAUTH2] clientSecretและ[OAUTH2] refreshTokenเมื่อใช้โหมดแอปพลิเคชัน - ต้องตั้งค่า
[GOOGLE_ADS] developerTokenเสมอ - หากตั้งค่า
[GOOGLE_ADS] loginCustomerIdและ[GOOGLE_ADS] linkedCustomerIdต้องต้องเป็นจํานวนบวก - หากมีการตั้งค่า
[CONNECTION] proxyต้องเป็น URL ที่ถูกต้อง (ดูตัวกรอง FILTER_VALIDATE_URL) - หากตั้งค่า
[LOGGING] logLevelต้องเป็นระดับบันทึก PSR ที่ถูกต้องในรูปแบบตัวพิมพ์ใหญ่ เช่นINFO - หากมีการตั้งค่า
[CONNECTION] transportจะต้องเป็นgrpcหรือrest - หากตั้งค่า
[CONNECTION] transportเป็นgrpcสภาพแวดล้อมต้องรองรับการส่ง gRPC (ดูการขนส่งคู่มือ) [CONNECTION] grpcChannelIsSecureต้องเท่ากับtrueเมื่อไม่ได้ตั้งค่า[CONNECTION] transportเป็นgrpc- คุณจะตั้งค่า
[CONNECTION] grpcChannelCredentialได้ก็ต่อเมื่อตั้งค่า[CONNECTION] transportเป็นgrpcเท่านั้น [CONNECTION] grpcChannelCredentialจะตั้งค่าได้ก็ต่อเมื่อ[CONNECTION] grpcChannelIsSecureเป็นtrueเท่านั้น