کتابخانه کارخواه 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_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->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 (بهطور پیشفرضhttps://www.googleapis.com/auth/adwordsدرv32.1.0و نسخههای جدیدتر؛ در نسخههای قدیمیتر ازv32.1.0یا هنگام استفاده از گسترههای سفارشی الزامی است؛ توسطfromEnvironmentVariables()از متغیر محیطی خوانده نمیشود).[OAUTH2] impersonatedEmail: نشانی ایمیل اختیاری برای جعل هویت هنگام استفاده از واگذاری در سطح دامنه Google Workspace.
- حالت «اطلاعات اعتباری پیشفرض برنامه»:
- وقتی هیچکدام از فیلدهای «حالت برنامه» یا «حالت حساب سرویس» تنظیم نشده باشند،
OAuth2TokenBuilderبهطور خودکار به «اطلاعات کاربری پیشفرض برنامه» (ADC) برمیگردد.
- وقتی هیچکدام از فیلدهای «حالت برنامه» یا «حالت حساب سرویس» تنظیم نشده باشند،
- حالت برنامه:
- فیلدهای استفادهشده توسط
GoogleAdsClientBuilder:[GOOGLE_ADS] loginCustomerId: شناسه مشتری مجاز برای استفاده در درخواست.-
[GOOGLE_ADS] linkedCustomerId: شناسه مشتری پیوندشده. [GOOGLE_ADS] endpoint: نقطه پایانی سرور Google Ads API جایگزین اختیاری.[LOGGING] logFilePath: مسیر خروجی ثبت گزارش.-
[LOGGING] logLevel: سطح ثبت گزارش. -
[CONNECTION] proxy: نشانی وب پراکسی سرور استفادهشده برای اتصال اینترنت. -
[CONNECTION] transport: انتقال شبکه (grpcیاrest). [CONNECTION] grpcChannelIsSecure: آیا کانال gRPC امن است.-
[CONNECTION] grpcChannelCredential: اطلاعات اعتباری کانال gRPC. -
[CONNECTION] unaryMiddlewares: میانافزارهای تکعضوی. -
[CONNECTION] streamingMiddlewares: میانافزارهای جاریسازی. -
[CONNECTION] grpcInterceptors: رهگیرهای gRPC.
اعتبارسنجی پیکربندی
تنظیمات پیکربندی هنگام نمونهسازی کارخواهها بررسی میشود و درصورت نامعتبر بودن، استثناهایی ایجاد میشود. قوانین اعتبارسنجی به شرح زیر است:
[OAUTH2]فیلدها نباید همزمان برای هر دو حالت «برنامه» و «حساب سرویس» تنظیم شوند.[OAUTH2] jsonKeyFilePathباید هنگام استفاده از حالت حساب «سرویس» تنظیم شود (در نسخههای قبلازv32.1.0،[OAUTH2] scopesنیز باید تنظیم شود؛ درv32.1.0و نسخههای جدیدتر،scopesبهطور پیشفرض رویhttps://www.googleapis.com/auth/adwordsتنظیم میشود).-
[OAUTH2] clientId،[OAUTH2] clientSecret، و[OAUTH2] refreshTokenباید هنگام استفاده از حالت «برنامه» تنظیم شوند. - درصورت تنظیم،
[GOOGLE_ADS] loginCustomerIdو[GOOGLE_ADS] linkedCustomerIdباید اعداد مثبت باشند. - اگر تنظیم شده باشد،
[CONNECTION] proxyباید نشانی وب معتبری باشد (به فیلترFILTER_VALIDATE_URLمراجعه کنید). - اگر تنظیم شده باشد،
[LOGGING] logLevelباید سطح گزارش PSR معتبری با حروف بزرگ باشد، مثلINFO. - اگر تنظیم شده باشد،
[CONNECTION] transportبایدgrpcیاrestباشد. - اگر
[CONNECTION] transportرویgrpcتنظیم شده باشد، انتقال gRPC باید توسط محیط پشتیبانی شود (به راهنمای انتقال مراجعه کنید). - وقتی
[CONNECTION] transportرویgrpcتنظیم نشده باشد،[CONNECTION] grpcChannelIsSecureبایدtrueباشد (اتصالهای REST همیشه به HTTPS نیاز دارند). [CONNECTION] grpcChannelCredentialرا فقط زمانی میتوان تنظیم کرد که[CONNECTION] transportرویgrpcتنظیم شده باشد.[CONNECTION] grpcChannelCredentialفقط زمانی میتواند تنظیم شود که[CONNECTION] grpcChannelIsSecureرویtrueباشد.