کتابخانه سرویس گیرنده 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
از مسیر پیکربندی پیشفرض بارگیری میشوند که:
- مقدار متغیر محیطی با نام
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
: رهگیرهای gRPC.
-
اعتبار سنجی پیکربندی
تنظیمات پیکربندی هنگام نمونهسازی کلاینتها بررسی میشوند و در صورت نامعتبر بودن، استثناها ایجاد میشوند. در اینجا قوانین وجود دارد:
- فیلدهای
[OAUTH2]
نباید همزمان برای حالت برنامه و حالت حساب سرویس تنظیم شوند. - هنگام استفاده از حالت حساب سرویس
[OAUTH2] scopes
[OAUTH2] jsonKeyFilePath
و [OAUTH2] باید تنظیم شوند. -
[OAUTH2] clientId
،[OAUTH2] clientSecret
و[OAUTH2] refreshToken
باید هنگام استفاده از Application Mode تنظیم شوند. -
[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
باشد.