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(clientIdingoogleads.properties,GOOGLE_ADS_CLIENT_ID): यह आपका OAuth2 क्लाइंट आईडी है.client_secret(clientSecretgoogleads.propertiesमें,GOOGLE_ADS_CLIENT_SECRET): यह आपका OAuth2 क्लाइंट सीक्रेट है.refresh_token(refreshTokeningoogleads.properties,GOOGLE_ADS_REFRESH_TOKEN): यह आपका OAuth2 रीफ़्रेश टोकन है.additional_scopes(additionalScopesingoogleads.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(additionalScopesingoogleads.properties): अनुरोध करने के लिए अतिरिक्त OAuth2 स्कोप.
Client में सेव किए गए फ़ील्ड:
developer_token(developerTokeningoogleads.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(loginCustomerIdingoogleads.properties,GOOGLE_ADS_LOGIN_CUSTOMER_ID): क्लाइंट खाते को ऐक्सेस करने के लिए इस्तेमाल किए गए मैनेजर खाते का आईडी. login-customer-id से जुड़े दस्तावेज़ देखें.linked_customer_id(googleads.propertiesमेंlinkedCustomerId,GOOGLE_ADS_LINKED_CUSTOMER_ID): लिंक किया गया ग्राहक आईडी.service_address(serviceAddressingoogleads.properties,GOOGLE_ADS_ENDPOINT): Google Ads API सेवा का पता बताने वाला यूआरएल (डिफ़ॉल्ट रूप से"https://googleads.googleapis.com"पर सेट होता है).user_agent(userAgentingoogleads.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"होती है.