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

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 (clientId in googleads.properties, GOOGLE_ADS_CLIENT_ID): यह आपका OAuth2 क्लाइंट आईडी है.
  • client_secret (clientSecret googleads.properties में, GOOGLE_ADS_CLIENT_SECRET): यह आपका OAuth2 क्लाइंट सीक्रेट है.
  • refresh_token (refreshToken in googleads.properties, GOOGLE_ADS_REFRESH_TOKEN): यह आपका OAuth2 रीफ़्रेश टोकन है.
  • additional_scopes (additionalScopes in 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 in googleads.properties): अनुरोध करने के लिए अतिरिक्त OAuth2 स्कोप.

Client में सेव किए गए फ़ील्ड:

  • developer_token (developerToken in googleads.properties, GOOGLE_ADS_DEVELOPER_TOKEN): (9 सितंबर, 2026 से बंद हो जाएगा) आपका Google Ads API डेवलपर टोकन. यह विकल्प है. क्लाइंट लाइब्रेरी के वर्शन से कोई फ़र्क़ नहीं पड़ता, एपीआई सर्वर इसे अनदेखा कर देते हैं. साथ ही, Google Ads API के आने वाले मेजर वर्शन में इसे अस्वीकार कर दिया जाएगा.
    • v35.0.0 और इसके बाद के वर्शन: क्लाइंट को शुरू करते समय इसकी ज़रूरत नहीं होती. v35.0.0 में, लोकल क्लाइंट-साइड developerToken की पुष्टि करने की सुविधा हटा दी गई थी.
    • v35.0.0 से पहले के वर्शन: अगर आपने v35.0.0 या इसके बाद के वर्शन पर अपग्रेड नहीं किया है, तो स्थानीय क्लाइंट-साइड कॉन्फ़िगरेशन की पुष्टि के लिए ज़रूरी है.
  • login_customer_id (loginCustomerId in googleads.properties, 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 सेवा का पता बताने वाला यूआरएल (डिफ़ॉल्ट रूप से "https://googleads.googleapis.com" पर सेट होता है).
  • user_agent (userAgent in googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): कस्टम उपयोगकर्ता-एजेंट हेडर प्रीफ़िक्स, एचटीटीपी अनुरोधों में शामिल होता है.
  • proxy (proxy में googleads.properties, GOOGLE_ADS_PERL_PROXY): इंटरनेट कनेक्टिविटी के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर यूआरएल.
  • version (Client->new या set_version): इस्तेमाल करने के लिए Google Ads API वर्शन मॉड्यूल (डिफ़ॉल्ट रूप से "V25" पर सेट होता है).
  • die_on_faults (Client->new या set_die_on_faults): इसे 1 पर सेट करें, ताकि एपीआई से जुड़ी गड़बड़ियों पर die() को रॉ रिस्पॉन्स पेलोड के साथ कॉल किया जा सके. ऐसा Google::Ads::GoogleAds::GoogleAdsException ऑब्जेक्ट को वापस भेजने के बजाय किया जाता है (डिफ़ॉल्ट रूप से 0 पर सेट होता है).
  • http_timeout (Client->new या set_http_timeout): यह एचटीटीपी टाइमआउट को सेकंड में दिखाता है. इसकी डिफ़ॉल्ट वैल्यू 3600 होती है.
  • http_retry_timing (Client->new या set_http_retry_timing): कुछ समय के लिए होने वाली एचटीटीपी 503 और 504 गड़बड़ियों के लिए, फिर से कोशिश करने से पहले रुकने के अंतराल (सेकंड में). इसकी डिफ़ॉल्ट वैल्यू "5,10,15" होती है.