ไลบรารีของไคลเอ็นต์ 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เท่านั้น