کتابخانه کلاینت پرل Google Ads API چندین تنظیمات پیکربندی ارائه میدهد که میتوانید برای سفارشیسازی رفتار کتابخانه از آنها استفاده کنید.
فایل پیکربندی
میتوانید هنگام نمونهسازی کلاینت، یک فایل 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 از مخزن گیتهاب و تغییر آن برای گنجاندن شناسه کلاینت، رمز کلاینت و توکن رفرش شما است.
پیکربندی پویا
میتوانید پیکربندی را به صورت پویا هنگام نمونهسازی کتابخانه یا پس از نمونهسازی تنظیم کنید:
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 دریافت کنید و شناسه کلاینت، رمز کلاینت و توکن refresh را در زمان اجرا تغییر دهید:
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({...}) و متدهای handler snake_case استفاده میکنند (مانند login_customer_id و linked_customer_id ).
فیلدها در OAuth2ApplicationsHandler باقی ماندند:
-
client_id(clientIdدرgoogleads.properties،GOOGLE_ADS_CLIENT_ID): شناسه کلاینت OAuth2 شما. -
client_secret(clientSecretingoogleads.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(jsonKeyFilePathingoogleads.properties,GOOGLE_ADS_JSON_KEY_FILE_PATH): مسیر فایل کلید JSON حساب کاربری سرویس شما. -
impersonated_email(impersonatedEmailingoogleads.properties,GOOGLE_ADS_IMPERSONATED_EMAIL): آدرس ایمیلی که هنگام استفاده از واگذاری دامنه در سطح Google Workspace جعل هویت میشود. -
additional_scopes(additionalScopesدرgoogleads.properties): دامنههای OAuth2 اضافی برای درخواست.
فیلدها در Client باقی ماندند:
-
login_customer_id(loginCustomerIdingoogleads.properties,GOOGLE_ADS_LOGIN_CUSTOMER_ID): شناسه حساب مدیر که برای دسترسی به حساب مشتری استفاده میشود. به مستندات login-customer-id مراجعه کنید. -
linked_customer_id(linkedCustomerIdدرgoogleads.properties،GOOGLE_ADS_LINKED_CUSTOMER_ID): شناسه مشتری لینکشده. -
service_address(serviceAddressingoogleads.properties,GOOGLE_ADS_ENDPOINT): آدرس اینترنتی سرویس API تبلیغات گوگل (به طور پیشفرض"https://googleads.googleapis.com"است). -
user_agent(userAgentingoogleads.properties,GOOGLE_ADS_PERL_USER_AGENT): پیشوند هدر user-agent سفارشی که در درخواستهای HTTP گنجانده شده است. -
proxy(proxyingoogleads.properties,GOOGLE_ADS_PERL_PROXY): آدرس سرور پروکسی که برای اتصال به اینترنت استفاده میشود. -
version(Client->newیاset_version): ماژول نسخه API گوگل ادز برای استفاده (پیشفرض روی"V25"است). -
die_on_faults(Client->newیاset_die_on_faults): برای اینکه متدهای سرویس،die()را با بار داده خام پاسخ در خطاهای API فراخوانی کنند، به جای اینکه یک شیءGoogle::Ads::GoogleAds::GoogleAdsExceptionبرگردانند، روی1تنظیم کنید (مقدار پیشفرض0است). -
http_timeout(Client->newیاset_http_timeout): زمان انتظار HTTP بر حسب ثانیه (پیشفرض3600). -
http_retry_timing(Client->newیاset_http_retry_timing): فواصل مکث تلاش مجدد را بر حسب ثانیه برای خطاهای گذرای HTTP503و504تنظیم میکند (پیشفرضها روی"5,10,15").