Google Ads API की PHP क्लाइंट लाइब्रेरी, कॉन्फ़िगरेशन की कई सेटिंग उपलब्ध कराती है. इनका इस्तेमाल करके, लाइब्रेरी के व्यवहार को अपनी पसंद के मुताबिक बनाया जा सकता है.
कॉन्फ़िगरेशन फ़ाइल
इन कॉन्फ़िगरेशन सेटिंग में से ज़्यादातर को INI कॉन्फ़िगरेशन फ़ाइलों में सेव किया जा सकता है. साथ ही, क्लाइंट इंस्टैंटिएट करते समय इनका इस्तेमाल किया जा सकता है. उदाहरण के लिए, google_ads_php.ini.
क्रेडेंशियल और क्लाइंट बिल्डर, दोनों ही ऐसी फ़ाइलों से सेटिंग लोड करने के लिए fromFile तरीके उपलब्ध कराते हैं:
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile('/path/to/google_ads_php.ini')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile('/path/to/google_ads_php.ini')
->withOAuth2Credential($oAuth2Credential)
->build();
अगर आर्ग्युमेंट के तौर पर कोई कॉन्फ़िगरेशन पाथ नहीं दिया गया है, तो fromFile
तरीके, डिफ़ॉल्ट कॉन्फ़िगरेशन पाथ से लोड होते हैं. यह पाथ यह है:
- अगर
GOOGLE_ADS_CONFIGURATION_FILE_PATHनाम का एनवायरमेंट वैरिएबल सेट है, तो उसकी वैल्यू. - इसके अलावा,
HOMEडायरेक्ट्री में मौजूदgoogle_ads_php.iniफ़ाइल.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
डाइनैमिक कॉन्फ़िगरेशन
क्लाइंट इंस्टैंटिएट करते समय, इन कॉन्फ़िगरेशन सेटिंग को डाइनैमिक तौर पर सेट किया जा सकता है:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->build();
कॉन्फ़िगरेशन एनवायरमेंट वैरिएबल
क्लाइंट इंस्टैंटिएट करते समय, एनवायरमेंट वैरिएबल से कुछ कॉन्फ़िगरेशन सेटिंग सेट की जा सकती हैं. इसके लिए, स्टैंडर्ड एनवायरमेंट वैरिएबल देखें.
क्रेडेंशियल और क्लाइंट बिल्डर, दोनों ही एनवायरमेंट वैरिएबल से सेटिंग लोड करने के लिए fromEnvironmentVariables तरीके उपलब्ध कराते हैं.
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
कॉन्फ़िगरेशन फ़ील्ड
कॉन्फ़िगरेशन सेटिंग में, कई फ़ील्ड होते हैं. इन्हें कैटगरी के हिसाब से व्यवस्थित किया जाता है:
OAuth2TokenBuilderके इस्तेमाल किए गए फ़ील्ड:- ऐप्लिकेशन मोड:
[OAUTH2] clientId: आपका OAuth2 क्लाइंट आईडी.[OAUTH2] clientSecret: यह आपका OAuth2 क्लाइंट सीक्रेट है.[OAUTH2] refreshToken: यह आपका OAuth2 रीफ़्रेश टोकन है.
- सेवा खाते का मोड:
[OAUTH2] jsonKeyFilePath: JSON कुंजी का पाथ.[OAUTH2] scopes: OAuth2 के स्कोप (v32.1.0और इसके बाद के वर्शन में, डिफ़ॉल्ट रूप सेhttps://www.googleapis.com/auth/adwordsपर सेट होता है;v32.1.0से पहले के वर्शन में या कस्टम स्कोप का इस्तेमाल करते समय ज़रूरी होता है;fromEnvironmentVariables()इसे एनवायरमेंट वैरिएबल से नहीं पढ़ता).[OAUTH2] impersonatedEmail: Google Workspace के डोमेन-वाइड डेलिगेशन का इस्तेमाल करते समय, किसी दूसरे व्यक्ति के तौर पर ईमेल भेजने के लिए इस्तेमाल किया जाने वाला ईमेल पता. यह ईमेल पता देना ज़रूरी नहीं है.
- ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल मोड:
- जब न तो ऐप्लिकेशन मोड और न ही सेवा खाते के मोड वाले फ़ील्ड सेट किए जाते हैं, तो
OAuth2TokenBuilderअपने-आप ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) पर वापस आ जाता है.
- जब न तो ऐप्लिकेशन मोड और न ही सेवा खाते के मोड वाले फ़ील्ड सेट किए जाते हैं, तो
- ऐप्लिकेशन मोड:
GoogleAdsClientBuilderके इस्तेमाल किए गए फ़ील्ड:[GOOGLE_ADS] developerToken: (9 सितंबर, 2026 से बंद हो जाएगा) आपका Google Ads API डेवलपर टोकन. यह पैरामीटर ज़रूरी नहीं है. एपीआई सर्वर, क्लाइंट लाइब्रेरी के वर्शन के बावजूद इसे अनदेखा करते हैं. साथ ही, Google Ads API के आने वाले मेजर वर्शन में इसे अस्वीकार कर दिया जाएगा.v35.0.0और इसके बाद के वर्शन: क्लाइंट को शुरू करते समय इसकी ज़रूरत नहीं होती (GoogleAdsClientBuilderने क्लाइंट-साइड पर डेवलपर टोकन की पुष्टि करने की सुविधा हटा दी है).v35.0.0से पहले के वर्शन: क्लाइंट-साइड के स्थानीय कॉन्फ़िगरेशन की पुष्टि करने के लिए ज़रूरी है.
[GOOGLE_ADS] loginCustomerId: अनुरोध में इस्तेमाल करने के लिए, अनुमति पा चुके ग्राहक का आईडी.[GOOGLE_ADS] linkedCustomerId: लिंक किया गया ग्राहक आईडी.[GOOGLE_ADS] endpoint: Google Ads API सर्वर एंडपॉइंट का वैकल्पिक विकल्प.[LOGGING] logFilePath: लॉगिंग आउटपुट का पाथ.[LOGGING] logLevel: लॉगिंग लेवल.[CONNECTION] proxy: इंटरनेट कनेक्टिविटी के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर यूआरएल.[CONNECTION] transport: नेटवर्क ट्रांसपोर्ट (grpcयाrest).[CONNECTION] grpcChannelIsSecure: gRPC चैनल सुरक्षित है या नहीं.[CONNECTION] grpcChannelCredential: gRPC चैनल के क्रेडेंशियल.[CONNECTION] unaryMiddlewares: यूनेरी मिडलवेयर.[CONNECTION] streamingMiddlewares: स्ट्रीमिंग मिडलवेयर.[CONNECTION] grpcInterceptors: gRPC इंटरसेप्टर.
कॉन्फ़िगरेशन की पुष्टि करना
क्लाइंट और अपवादों को इंस्टैंटिएट करते समय, कॉन्फ़िगरेशन सेटिंग की जांच की जाती है. अमान्य होने पर, अपवादों को थ्रो किया जाता है. पुष्टि करने के नियम ये हैं:
[OAUTH2]फ़ील्ड को एक ही समय पर, ऐप्लिकेशन मोड और सेवा खाते के मोड, दोनों के लिए सेट नहीं किया जाना चाहिए.- सेवा खाता मोड का इस्तेमाल करते समय
[OAUTH2] jsonKeyFilePathको सेट करना ज़रूरी है.v32.1.0से पहले के वर्शन में,[OAUTH2] scopesको भी सेट करना ज़रूरी है.v32.1.0और उसके बाद के वर्शन में,scopesडिफ़ॉल्ट रूप सेhttps://www.googleapis.com/auth/adwordsपर सेट होता है. - ऐप्लिकेशन मोड का इस्तेमाल करते समय,
[OAUTH2] clientId,[OAUTH2] clientSecret, और[OAUTH2] refreshTokenको सेट करना ज़रूरी है. v35.0.0से पहले के वर्शन में,[GOOGLE_ADS] developerTokenकी जांच स्थानीय क्लाइंट-साइड पुष्टि करने की सुविधा से की जाती है.v35.0.0और इसके बाद के वर्शन में,[GOOGLE_ADS] developerTokenकी ज़रूरत नहीं होती.- अगर यह विकल्प सेट किया जाता है, तो
[GOOGLE_ADS] loginCustomerIdऔर[GOOGLE_ADS] linkedCustomerIdकी वैल्यू पॉज़िटिव नंबर में होनी चाहिए. - अगर
[CONNECTION] proxyएट्रिब्यूट की वैल्यू सेट की गई है, तो यह एक मान्य यूआरएल होना चाहिए. इसके लिए,FILTER_VALIDATE_URLफ़िल्टर देखें. - अगर इसे सेट किया जाता है, तो
[LOGGING] logLevelको कैपिटल लेटर में एक मान्य पीएसआर लॉग लेवल होना चाहिए. जैसे,INFO. - अगर यह एट्रिब्यूट सेट किया गया है, तो
[CONNECTION] transportकी वैल्यूgrpcयाrestहोनी चाहिए. - अगर
[CONNECTION] transportकोgrpcपर सेट किया गया है, तो gRPC ट्रांसपोर्ट को एनवायरमेंट के साथ काम करना चाहिए. इसके लिए, ट्रांसपोर्ट गाइड देखें. [CONNECTION] transportकोgrpcपर सेट न करने पर,[CONNECTION] grpcChannelIsSecureकोtrueपर सेट करना ज़रूरी है. REST कनेक्शन के लिए, हमेशा एचटीटीपीएस की ज़रूरत होती है.[CONNECTION] grpcChannelCredentialको सिर्फ़ तब सेट किया जा सकता है, जब[CONNECTION] transportकोgrpcपर सेट किया गया हो.[CONNECTION] grpcChannelCredentialको सिर्फ़ तब सेट किया जा सकता है, जब[CONNECTION] grpcChannelIsSecuretrueपर सेट हो.