پیکربندی

کتابخانه کلاینت پرل 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 ( clientSecret in 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 in googleads.properties , GOOGLE_ADS_JSON_KEY_FILE_PATH ): مسیر فایل کلید JSON حساب کاربری سرویس شما.
  • impersonated_email ( impersonatedEmail in googleads.properties , GOOGLE_ADS_IMPERSONATED_EMAIL ): آدرس ایمیلی که هنگام استفاده از واگذاری دامنه در سطح Google Workspace جعل هویت می‌شود.
  • additional_scopes ( additionalScopes در googleads.properties ): دامنه‌های OAuth2 اضافی برای درخواست.

فیلدها در Client باقی ماندند:

  • login_customer_id ( loginCustomerId in googleads.properties , GOOGLE_ADS_LOGIN_CUSTOMER_ID ): شناسه حساب مدیر که برای دسترسی به حساب مشتری استفاده می‌شود. به مستندات login-customer-id مراجعه کنید.
  • linked_customer_id ( linkedCustomerId در googleads.properties ، GOOGLE_ADS_LINKED_CUSTOMER_ID ): شناسه مشتری لینک‌شده.
  • service_address ( serviceAddress in googleads.properties , GOOGLE_ADS_ENDPOINT ): آدرس اینترنتی سرویس API تبلیغات گوگل (به طور پیش‌فرض "https://googleads.googleapis.com" است).
  • user_agent ( userAgent in googleads.properties , GOOGLE_ADS_PERL_USER_AGENT ): پیشوند هدر user-agent سفارشی که در درخواست‌های HTTP گنجانده شده است.
  • proxy ( proxy in googleads.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 ): فواصل مکث تلاش مجدد را بر حسب ثانیه برای خطاهای گذرای HTTP 503 و 504 تنظیم می‌کند (پیش‌فرض‌ها روی "5,10,15" ).