کتابخانه کارخواه Google Ads API Perl چندین تنظیم پیکربندی ارائه میدهد که میتوانید از آنها برای سفارشیسازی رفتار کتابخانه استفاده کنید.
فایل پیکربندی
میتوانید فایل googleads.properties را برای استفاده هنگام نمونهسازی کارخواه مشخص کنید.
اگر هنگام نمونهسازی از هیچ آرگومانی استفاده نکنید:
my $api_client = Google::Ads::GoogleAds::Client->new();
سپس کتابخانه در فهرست راهنمای HOME شما بهدنبال فایل میگردد، یا در مسیری که در متغیر محیطی GOOGLE_ADS_CONFIGURATION_FILE_PATH مشخص شده است (اگر تنظیم شده باشد).
یا میتوانید مسیر را بهطور صریح مشخص کنید:
my $properties_file = "/path/to/googleads.properties";
my $api_client = Google::Ads::GoogleAds::Client->new({
properties_file => $properties_file,
});
که در این صورت کارخواه فایل را در آن مسیر جستجو میکند.
سادهترین راه برای تولید این فایل این است که googleads.properties را از مخزن GitHub کپی کنید و آن را تغییر دهید تا شناسه کارخواه، رمز کارخواه، و ژتون بازآوری شما را دربرگیرد.
پیکربندی پویا
میتوانید پیکربندی را بهصورت پویا هنگام نمونهسازی کتابخانه یا پساز نمونهسازی تنظیم کنید:
my $api_client = Google::Ads::GoogleAds::Client->new({
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});
همچنین میتوانید پیکربندی را پساز نمونهسازی اصلاح کنید:
$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");
همچنین میتوانید شیء OAuth2ApplicationsHandler را از نمونه Client دریافت کنید و شناسه کارخواه، رمز کارخواه، و ژتون بازآوری را در زمان اجرا تغییر دهید:
my $oauth2_applications_handler =
$api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID_HERE");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET_HERE");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN_HERE");
متغیرهای محیط پیکربندی
میتوانید برخیاز تنظیمات پیکربندی را از متغیرهای محیطی هنگام نمونهسازی مشتریان تنظیم کنید (متغیرهای محیطی استاندارد را ببینید).
ماژول Client تابع configure_from_environment_variables را برای بار کردن مقادیر از متغیرهای محیطی ارائه میدهد.
# Get the Google Ads API Client. By default, any credentials are read from
# ~/googleads.properties, or, if set, from the file specified in the
# GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.
my $api_client = Google::Ads::GoogleAds::Client->new();
# Load the configuration from any set environment variables.
$api_client->configure_from_environment_variables();
فیلدهای پیکربندی
توجه داشته باشید که کلیدهای googleads.properties از camelCase (مانند loginCustomerId
و linkedCustomerId) استفاده میکنند، درحالیکه متغیرهای مستقل سازنده Client->new({...}) و
روشهای گرداننده از snake_case (مانند login_customer_id و
linked_customer_id) استفاده میکنند.
فیلدهای حفظشده در OAuth2ApplicationsHandler:
client_id(clientIdدرgoogleads.properties،GOOGLE_ADS_CLIENT_ID): شناسه کارخواه OAuth2 شما.client_secret(clientSecretدرgoogleads.properties،GOOGLE_ADS_CLIENT_SECRET): رمز کارخواه OAuth2 شما.refresh_token(refreshTokenدرgoogleads.properties،GOOGLE_ADS_REFRESH_TOKEN): کد بازآوری OAuth2 شما.-
additional_scopes(additionalScopesدرgoogleads.properties): گسترههای OAuth2 اضافی برای درخواست.
فیلدهای حفظشده در OAuth2ServiceAccountsHandler:
-
json_key_file_path(jsonKeyFilePathدرgoogleads.properties،GOOGLE_ADS_JSON_KEY_FILE_PATH): مسیر فایل کلید JSON حساب سرویس شما. -
impersonated_email(impersonatedEmailدرgoogleads.properties،GOOGLE_ADS_IMPERSONATED_EMAIL): نشانی ایمیلی که هنگام استفاده از واگذاری در سطح دامنه Google Workspace جعل هویت میشود. -
additional_scopes(additionalScopesدرgoogleads.properties): گسترههای OAuth2 اضافی برای درخواست.
فیلدهای حفظشده در Client:
-
login_customer_id(loginCustomerIdدرgoogleads.properties،GOOGLE_ADS_LOGIN_CUSTOMER_ID): شناسه حساب مدیر که برای دسترسی به حساب مشتری استفاده میشود. سند login-customer-id را ببینید. -
linked_customer_id(linkedCustomerIdدرgoogleads.properties،GOOGLE_ADS_LINKED_CUSTOMER_ID): شناسه مشتری پیوندشده. -
service_address(serviceAddressدرgoogleads.properties،GOOGLE_ADS_ENDPOINT): نشانی وب سرویس Google Ads API (بهطور پیشفرض"https://googleads.googleapis.com"). -
user_agent(userAgentدرgoogleads.properties،GOOGLE_ADS_PERL_USER_AGENT): پیشوند سرصفحه نماینده کاربر سفارشی موجود در درخواستهای HTTP. -
proxy(proxyدرgoogleads.properties،GOOGLE_ADS_PERL_PROXY): نشانی وب پراکسی سرور که برای اتصال اینترنت استفاده میشود. version(Client->newیاset_version): ماژول نسخه Google Ads API برای استفاده (بهطور پیشفرض"V26").die_on_faults(Client->newیاset_die_on_faults): روی1تنظیم کنید تا روشهای سرویسdie()را با بار داده پاسخ خام در خطاهای API بهجای برگرداندن شیءGoogle::Ads::GoogleAds::GoogleAdsExceptionفراخوانی کنند (بهطور پیشفرض روی0تنظیم شده است).-
http_timeout(Client->newیاset_http_timeout): وقفه زمانی HTTP به ثانیه (پیشفرض3600است). http_retry_timing(Client->newیاset_http_retry_timing): فواصل مکث تکرار مجدد برحسب ثانیه برای خطاهای موقت اچتیتیپی503و504(بهطور پیشفرض"5,10,15").