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

क्लाइंट को कॉन्फ़िगर करने के कई अलग-अलग तरीके हैं.

YAML फ़ाइल का इस्तेमाल करके कॉन्फ़िगरेशन करें

जिस क्लाइंट में यह शामिल है उसे शुरू करते समय, एक YAML फ़ाइल के बारे में बताया जा सकता है आपके पास अनुरोध करने के लिए, पुष्टि करने की ज़रूरी जानकारी होनी चाहिए. यह फ़ाइल है इसे तब ऐक्सेस किया जाता है, जब load_from_storage तरीके का इस्तेमाल करके, क्लाइंट को शुरू किया जाता है. इस फ़ाइल को जनरेट करने का सबसे आसान तरीका यह है कि google-ads.yaml उदाहरण के लिए, GitHub रिपॉज़िटरी से लिया गया है और अपने क्रेडेंशियल शामिल करने के लिए, इसमें आपका डेवलपर टोकन, रीफ़्रेश टोकन, क्लाइंट आईडी, और क्लाइंट सीक्रेट शामिल होते हैं.

अगर पाथ नहीं दिया जाता है, तो लाइब्रेरी आपकी $HOME डायरेक्ट्री में दिखेगी फ़ाइल के लिए:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

google-ads.yaml फ़ाइल की जगह की जानकारी देने के लिए, विधि को कॉल करते समय इसके लिए स्ट्रिंग के रूप में पथ:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

पाथ की जानकारी देने के लिए, एक खास एनवायरमेंट वैरिएबल भी तय किया जा सकता है:

import os

os.environ["GOOGLE_ADS_CONFIGURATION_FILE_PATH"] = "path/to/google-ads.yaml"
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

अगर दोनों वैल्यू दी गई हैं, तो तरीके और ऊपर बताए गए तरीके में पाथ पास किया जाता है एनवायरमेंट वैरिएबल मौजूद है—फिर लाइब्रेरी, पाथ को प्राथमिकता देगी इस प्रक्रिया में पास किया गया है.

एनवायरमेंट वैरिएबल का इस्तेमाल करके कॉन्फ़िगरेशन करना

आपके पास अपने सभी क्लाइंट कॉन्फ़िगरेशन को एनवायरमेंट वैरिएबल के तौर पर स्टोर करने का विकल्प होता है. क्लाइंट के load_from_env तरीके का इस्तेमाल करने पर, उसे पढ़ा जाएगा. एनवायरमेंट वैरिएबल के नाम वही होने चाहिए जो google-ads.yaml में तय किए गए हैं फ़ाइल है, लेकिन सभी अपरकेस और प्रीफ़िक्स GOOGLE_ADS_ के साथ होने चाहिए नेमस्पेस. उदाहरण के लिए, client_id को GOOGLE_ADS_CLIENT_ID के तौर पर सेव किया जाना चाहिए.

एनवायरमेंट वैरिएबल आम तौर पर बैश कॉन्फ़िगरेशन फ़ाइल में तय किए जाते हैं, जैसे कि .bashrc या .bash_profile फ़ाइल के तौर पर, जो $HOME डायरेक्ट्री में मौजूद होती है. वे को कमांड लाइन का इस्तेमाल करके भी तय किया जा सकता है. ध्यान दें कि ये निर्देश मान लें कि आप bash का उपयोग कर रहे हैं, तो किसी अन्य शेल का उपयोग करने पर आपको में पर्यावरण वैरिएबल सेट करने का तरीका जानने के लिए, शेल का भी इस्तेमाल कर रहे हैं.

.bashrc का इस्तेमाल करके, एनवायरमेंट वैरिएबल तय करने के कुछ बुनियादी तरीके यहां दिए गए हैं टर्मिनल का इस्तेमाल करके फ़ाइल:

# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
$ echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
$ src ~/.bashrc

एनवायरमेंट वैरिएबल को सीधे आपके टर्मिनल इंस्टेंस में भी सेट किया जा सकता है कमांड लाइन से:

$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890

load_from_env वाला तरीका, environ से कॉन्फ़िगरेशन डेटा लोड करता है Python के बिल्ट-इन os मॉड्यूल पर एट्रिब्यूट की वैल्यू सबमिट करता है. उदाहरण के लिए: os.environ["GOOGLE_ADS_CLIENT_ID"]

यहां कॉन्फ़िगरेशन के साथ क्लाइंट इंस्टेंस को शुरू करने का तरीका बताया गया है इस तरीके का इस्तेमाल करके:

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()

एनवायरमेंट वैरिएबल की मदद से logging को कॉन्फ़िगर करने के लिए, कॉन्फ़िगरेशन वैल्यू एक ऐसा JSON ऑब्जेक्ट होना चाहिए जो YAML पासकोड के स्ट्रक्चर से मेल खाता हो सैंपल google-ads.yaml कॉन्फ़िगरेशन फ़ाइल है.

यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि .bashrc फ़ाइल का इस्तेमाल करके, इसे कैसे सेट किया जा सकता है:

export GOOGLE_ADS_LOGGING='{
  "version": 1,
  "disable_existing_loggers": false,
  "formatters": {
    "default_fmt": {
      "format": "[%(asctime)s - %(levelname)s] %(message).5000s",
      "datefmt": "%Y-%m-%d %H:%M:%S"
    }
  },
  "handlers": {
    "default_handler": {
      "class": "logging.StreamHandler",
      "formatter": "default_fmt"
    }
  },
  "loggers": {
    "": {
      "handlers": ["default_handler"],
      "level": "INFO"
    }
  }
}'

YAML स्ट्रिंग का इस्तेमाल करके कॉन्फ़िगरेशन करना

अगर आपने मेमोरी में कोई YAML फ़ाइल पढ़ी है, तो उसे सीधे शुरू करने के बाद लागू होता है. ऐसा करने के लिए, सिर्फ़ load_from_string तरीके का इस्तेमाल करें.

from google.ads.googleads.client import GoogleAdsClient

with open("/path/to/yaml", "rb") as handle:
    yaml = handle.read()

client = GoogleAdsClient.load_from_string(yaml)

dict का इस्तेमाल करके कॉन्फ़िगर किया गया है

आपके पास, load_from_dict वाले तरीके का इस्तेमाल करके dict को सीधे पास करने का विकल्प है. उदाहरण के लिए:

from google.ads.googleads.client import GoogleAdsClient

credentials = {
    "developer_token": "abcdef123456",
    "refresh_token": "1//0abcdefghijklABCDEF",
    "client_id": "123456-abcdef.apps.googleusercontent.com",
    "client_secret": "aBcDeFgHiJkL"}

client = GoogleAdsClient.load_from_dict(credentials)

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

क्लाइंट लाइब्रेरी का कॉन्फ़िगरेशन, इन फ़ील्ड के साथ काम करता है.

सामान्य फ़ील्ड (चाहे ये नाम एक जैसे हों, भले ही YAML या लिखवाने की सुविधा का इस्तेमाल किया जा रहा हो कॉन्फ़िगरेशन से जुड़ा हो):

  • refresh_token: आपका OAuth रीफ़्रेश टोकन.
  • client_id: आपका OAuth क्लाइंट आईडी.
  • client_secret: आपका OAuth क्लाइंट सीक्रेट.
  • developer_token: एपीआई ऐक्सेस करने के लिए, आपका डेवलपर टोकन.
  • login_customer_id: देखें login-customer-id दस्तावेज़.
  • linked_customer_id: लिंक किया गया ग्राहक-आईडी देखें दस्तावेज़.
  • json_key_file_path (पहले path_to_private_key_file था): इसका पाथ लोकल निजी पासकोड फ़ाइल. इसका इस्तेमाल किसी सेवा का इस्तेमाल करके पुष्टि करने के लिए किया जाता है जोड़ें. OAuth2 सेवा खाते से जुड़े दस्तावेज़ देखें.
  • impersonated_email (पहले delegate_account था): इस्तेमाल किया गया खाते का ईमेल को ऐक्सेस दिया है. इसका इस्तेमाल, सेवा खाते की मदद से पुष्टि करने के लिए किया जाता है. यहां जाएं: OAuth2 सेवा खाते का दस्तावेज़.
  • logging: लॉग करने का कॉन्फ़िगरेशन. लॉगिंग फ़ील्ड के बारे में नीचे बताया गया है.
  • http_proxy: प्रॉक्सी दस्तावेज़ देखें.
  • use_proto_plus: प्रोटो-प्लस मैसेज का इस्तेमाल करना है या नहीं. ज़्यादा जानकारी के लिए, प्रोटोबफ़ मैसेज के बारे में दस्तावेज़.

एनवायरमेंट वैरिएबल के तौर पर सामान्य फ़ील्ड:

  • GOOGLE_ADS_CONFIGURATION_FILE_PATH
  • GOOGLE_ADS_REFRESH_TOKEN
  • GOOGLE_ADS_CLIENT_ID
  • GOOGLE_ADS_CLIENT_SECRET
  • GOOGLE_ADS_DEVELOPER_TOKEN
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID
  • GOOGLE_ADS_LINKED_CUSTOMER_ID
  • GOOGLE_ADS_JSON_KEY_FILE_PATH (पहले इसका नाम GOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE था)
  • GOOGLE_ADS_IMPERSONATED_EMAIL (पहले इसका नाम GOOGLE_ADS_DELEGATE_ACCOUNT था)
  • GOOGLE_ADS_LOGGING
  • GOOGLE_ADS_HTTP_PROXY
  • GOOGLE_ADS_USE_PROTO_PLUS

लॉग करने के फ़ील्ड, जो logging कॉन्फ़िगरेशन के नीचे के फ़ील्ड होते हैं फ़ील्ड, सीधे logging.config बिल्ट-इन मॉड्यूल से लिए जाते हैं क्योंकि लाइब्रेरी logging नेमस्पेस के सभी फ़ील्ड को पास कर देगी सीधे logging.config.dictConfig तरीका. पूरी जानकारी के लिए लॉग इन करने की गाइड देखें.

  • version: स्कीमा वर्शन को दिखाने वाली पूरी संख्या.
  • disable_existing_loggers: लॉगर ने ऐप्लिकेशन को अक्षम किया जाना चाहिए.
  • formatters: अलग-अलग तरह के फ़ॉर्मैटर के बारे में बताने वाले शब्दकोश.
  • handlers: अलग-अलग हैंडलर के बारे में बताने वाले डिक्शनरी, जो यह कंट्रोल करते हैं कि लॉग लिखे जाते हैं और फ़ॉर्मैटर का इस्तेमाल किया जाना चाहिए.
  • loggers: अलग-अलग तरह के लॉगर के बारे में जानकारी देने वाले शब्दकोश. इनमें ये शब्द शामिल हैं हैंडलर और लॉग लेवल की जानकारी होनी चाहिए.