کتابخانه کلاینت 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)
// ...
->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] loginCustomerId: شناسه مشتری مجاز برای استفاده در درخواست. -
[GOOGLE_ADS] linkedCustomerId: شناسه مشتری لینکشده. -
[LOGGING] logFilePath: مسیر ثبت وقایع. -
[LOGGING] logLevel: سطح ثبت وقایع. -
[CONNECTION] proxy: آدرس اینترنتی سرور پروکسی که برای اتصال به اینترنت استفاده میشود. -
[CONNECTION] transport: حمل و نقل. -
[CONNECTION] grpcChannelIsSecure: مشخص میکند که آیا کانال gRPC امن است یا خیر. -
[CONNECTION] grpcChannelCredential: اعتبارنامههای کانال gRPC. -
[CONNECTION] unaryMiddlewares: میانافزارهای unary. -
[CONNECTION] streamingMiddlewares: میانافزارهای استریمینگ. -
[CONNECTION] grpcInterceptors: رهگیرهای gRPC.
-
اعتبارسنجی پیکربندی
تنظیمات پیکربندی هنگام نمونهسازی کلاینتها بررسی میشوند و در صورت نامعتبر بودن، استثنائاتی صادر میشوند. قوانین به شرح زیر است:
- فیلدهای
[OAUTH2]نباید همزمان برای هر دو حالت برنامه و حالت حساب سرویس تنظیم شوند. - هنگام استفاده از حالت حساب سرویس، باید دامنههای
[OAUTH2] jsonKeyFilePathو[OAUTH2] scopesتنظیم شوند. - هنگام استفاده از حالت برنامه، باید
[OAUTH2] clientId،[OAUTH2] clientSecretو[OAUTH2] refreshTokenتنظیم شوند. - در صورت تنظیم،
[GOOGLE_ADS] loginCustomerIdو[GOOGLE_ADS] linkedCustomerIdباید اعداد مثبت باشند. - اگر تنظیم شده باشد،
[CONNECTION] proxyباید یک URL معتبر باشد (به فیلتر FILTER_VALIDATE_URL مراجعه کنید). - اگر تنظیم شده باشد،
[LOGGING] logLevelباید یک سطح ثبت وقایع PSR معتبر با حروف بزرگ باشد، مانندINFO. - اگر تنظیم شده باشد،
[CONNECTION] transportباید یاgrpcباشد یاrest. - اگر
[CONNECTION] transportرویgrpcتنظیم شده باشد، انتقال gRPC باید توسط محیط پشتیبانی شود (به راهنمای transport مراجعه کنید). - وقتی که [
[CONNECTION] transportرویgrpcتنظیم نشده باشد، [CONNECTION[CONNECTION] grpcChannelIsSecureبایدtrueداشته باشد. -
[CONNECTION] grpcChannelCredentialفقط زمانی قابل تنظیم است که[CONNECTION] transportرویgrpcتنظیم شده باشد. -
[CONNECTION] grpcChannelCredentialفقط زمانی قابل تنظیم است که[CONNECTION] grpcChannelIsSecuretrueباشد.