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

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 के तरीके डिफ़ॉल्ट कॉन्फ़िगरेशन पाथ से लोड होते हैं. यह पाथ है:

  1. अगर सेट किया गया है, तो GOOGLE_ADS_CONFIGURATION_FILE_PATH नाम के एनवायरमेंट वैरिएबल की वैल्यू.
  2. अगर ऐसा नहीं है, तो आपकी 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();

कॉन्फ़िगरेशन फ़ील्ड

कॉन्फ़िगरेशन सेटिंग में, कैटगरी के हिसाब से व्यवस्थित किए गए कई फ़ील्ड काम करते हैं:

  1. 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 अपने-आप ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) पर वापस चला जाता है.
  2. 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 इंटरसेप्टर.

कॉन्फ़िगरेशन की पुष्टि करना

क्लाइंट को इंस्टैंशिएट करते समय, कॉन्फ़िगरेशन सेटिंग की जांच की जाती है. साथ ही, अमान्य होने पर अपवाद थ्रो किए जाते हैं. पुष्टि करने के नियम इस तरह हैं:

  1. [OAUTH2] फ़ील्ड को ऐप्लिकेशन मोड और सेवा खाते के मोड, दोनों के लिए एक साथ सेट नहीं किया जाना चाहिए.
  2. सेवा खाते के मोड का इस्तेमाल करते समय, [OAUTH2] jsonKeyFilePath को सेट करना ज़रूरी है (v32.1.0 से पहले के वर्शन में, [OAUTH2] scopes को भी सेट करना ज़रूरी है; v32.1.0 और उसके बाद के वर्शन में, scopes डिफ़ॉल्ट रूप से https://www.googleapis.com/auth/adwords पर सेट होता है).
  3. ऐप्लिकेशन मोड का इस्तेमाल करते समय, [OAUTH2] clientId, [OAUTH2] clientSecret, और [OAUTH2] refreshToken को सेट करना ज़रूरी है.
  4. अगर सेट किया गया है, तो [GOOGLE_ADS] loginCustomerId और [GOOGLE_ADS] linkedCustomerId पॉज़िटिव नंबर होने चाहिए.
  5. अगर सेट किया गया है, तो [CONNECTION] proxy एक मान्य यूआरएल होना चाहिए (FILTER_VALIDATE_URL फ़िल्टर देखें).
  6. अगर सेट किया गया है, तो [LOGGING] logLevel को कैपिटल लेटर में एक मान्य पीएसआर लॉग लेवल होना चाहिए, जैसे कि INFO.
  7. अगर सेट किया गया है, तो [CONNECTION] transport को grpc या rest होना चाहिए.
  8. अगर [CONNECTION] transport को grpc पर सेट किया गया है, तो gRPC ट्रांसपोर्ट को एनवायरमेंट के साथ काम करना चाहिए (ट्रांसपोर्ट गाइड देखें).
  9. जब [CONNECTION] transport को grpc पर सेट न किया गया हो, तब [CONNECTION] grpcChannelIsSecure को true पर सेट करना ज़रूरी है. REST कनेक्शन के लिए, हमेशा एचटीटीपीएस की ज़रूरत होती है.
  10. [CONNECTION] grpcChannelCredential को सिर्फ़ तब सेट किया जा सकता है, जब [CONNECTION] transport को grpc पर सेट किया गया हो.
  11. [CONNECTION] grpcChannelCredential को सिर्फ़ तब सेट किया जा सकता है, जब [CONNECTION] grpcChannelIsSecure को true पर सेट किया गया हो.