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] 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को सेट करना ज़रूरी है. - अगर सेट किया गया है, तो
[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] grpcChannelIsSecureकोtrueपर सेट किया गया हो.