कॉन्फ़िगरेशन

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, GOOGLE_ADS_CLIENT_ID में clientId): आपका 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 (googleads.properties में jsonKeyFilePath, GOOGLE_ADS_JSON_KEY_FILE_PATH): आपके सेवा खाते की JSON कुंजी वाली फ़ाइल का पाथ.
  • impersonated_email (impersonatedEmail in 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 में googleads.properties, GOOGLE_ADS_ENDPOINT): Google Ads API सेवा के पते का यूआरएल (डिफ़ॉल्ट रूप से "https://googleads.googleapis.com" पर सेट होता है).
  • user_agent (googleads.properties में userAgent, GOOGLE_ADS_PERL_USER_AGENT): एचटीटीपी अनुरोधों में शामिल कस्टम उपयोगकर्ता-एजेंट हेडर प्रीफ़िक्स.
  • proxy (googleads.properties में proxy, GOOGLE_ADS_PERL_PROXY): इंटरनेट कनेक्टिविटी के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर यूआरएल.
  • 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): सेकंड में एचटीटीपी टाइम आउट (डिफ़ॉल्ट रूप से 3600 पर सेट होता है).
  • http_retry_timing (Client->new या set_http_retry_timing): कुछ समय के लिए होने वाली एचटीटीपी 503 और 504 गड़बड़ियों के लिए, सेकंड में फिर से कोशिश करने के बीच का समय (डिफ़ॉल्ट रूप से "5,10,15" पर सेट होता है).