কনফিগারেশন

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,
});

যে ক্ষেত্রে ক্লায়েন্ট সেই পাথে ফাইল খোঁজে।

এই ফাইল তৈরি করার সবচেয়ে সহজ উপায় হল, GitHub রিপোজিটরি থেকে 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");

এছাড়াও, আপনি Client ইনস্ট্যান্স থেকে OAuth2ApplicationsHandler অবজেক্ট পেতে পারেন এবং রানটাইমে ক্লায়েন্ট আইডি, ক্লায়েন্ট সিক্রেট ও রিফ্রেশ টোকেন পরিবর্তন করতে পারেন:

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 (googleads.properties-এ clientId, GOOGLE_ADS_CLIENT_ID): আপনার OAuth2 ক্লায়েন্ট আইডি।
  • client_secret (googleads.properties-এ clientSecret, GOOGLE_ADS_CLIENT_SECRET): আপনার OAuth2 ক্লায়েন্ট সিক্রেট।
  • refresh_token (googleads.properties-এ refreshToken, GOOGLE_ADS_REFRESH_TOKEN): আপনার OAuth2 রিফ্রেশ টোকেন।
  • additional_scopes (googleads.properties-এ additionalScopes): অনুরোধ করার জন্য অতিরিক্ত 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 (googleads.properties-এ additionalScopes): অনুরোধ করার জন্য অতিরিক্ত OAuth2 স্কোপ।

Client-এ ফিল্ড থেকে গেছে:

  • login_customer_id (googleads.properties-এ loginCustomerId, GOOGLE_ADS_LOGIN_CUSTOMER_ID): ক্লায়েন্ট অ্যাকাউন্ট অ্যাক্সেস করতে ব্যবহৃত ম্যানেজার অ্যাকাউন্টের আইডি। login-customer-id ডকুমেন্টেশন দেখুন।
  • linked_customer_id (googleads.properties-এ linkedCustomerId, GOOGLE_ADS_LINKED_CUSTOMER_ID): লিঙ্ক করা কাস্টমার আইডি।
  • service_address (serviceAddress in googleads.properties, GOOGLE_ADS_ENDPOINT): Google Ads API পরিষেবা অ্যাড্রেস URL (ডিফল্ট হিসেবে "https://googleads.googleapis.com")।
  • user_agent (userAgent-এ googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): HTTP অনুরোধে কাস্টম ইউজার-এজেন্ট হেডার প্রিফিক্স অন্তর্ভুক্ত করা হয়েছে।
  • proxy (googleads.properties-এ proxy, GOOGLE_ADS_PERL_PROXY): ইন্টারনেট কানেক্টিভিটির জন্য ব্যবহৃত প্রক্সি সার্ভার URL।
  • version (Client->new অথবা set_version): Google Ads API ভার্সন মডিউল ব্যবহার করতে (ডিফল্ট হিসেবে "V26")।
  • die_on_faults (Client->new বা set_die_on_faults): 1-এ সেট করুন যাতে এপিআই সংক্রান্ত সমস্যার ক্ষেত্রে Google::Ads::GoogleAds::GoogleAdsException অবজেক্ট ফিরিয়ে দেওয়ার পরিবর্তে রিসপন্স পেলোড সহ die()-এ সার্ভিস মেথড কল করা যায় (ডিফল্ট হিসেবে 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")।