क्लाइंट को कॉन्फ़िगर करने के कई तरीके हैं.
YAML फ़ाइल का इस्तेमाल करके कॉन्फ़िगरेशन
क्लाइंट को शुरू करने के दौरान इस्तेमाल करने के लिए, YAML फ़ाइल तय की जा सकती है. इसमें अनुरोध करने के लिए, पुष्टि करने से जुड़ी ज़रूरी जानकारी होती है. इस फ़ाइल को तब ऐक्सेस किया जाता है, जब किसी क्लाइंट को load_from_storage
तरीके का इस्तेमाल करके शुरू किया जाता है.
इस फ़ाइल को जनरेट करने का सबसे आसान तरीका यह है कि GitHub रिपॉज़िटरी से google-ads.yaml
उदाहरण को कॉपी करें और उसमें अपने क्रेडेंशियल शामिल करने के लिए बदलाव करें. इन क्रेडेंशियल में, डेवलपर टोकन, रीफ़्रेश टोकन, क्लाइंट आईडी, और क्लाइंट सीक्रेट शामिल हैं.
अगर आपने कोई पाथ नहीं दिया है, तो लाइब्रेरी आपकी $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
के तौर पर सेव किया जाना चाहिए.
एनवायरमेंट वैरिएबल आम तौर पर, bash कॉन्फ़िगरेशन फ़ाइल में तय किए जाते हैं. जैसे, $HOME
डायरेक्ट्री में मौजूद .bashrc
या .bash_profile
फ़ाइल. इन्हें कमांड लाइन का इस्तेमाल करके भी तय किया जा सकता है. ध्यान दें कि इन निर्देशों में यह माना गया है कि 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
तरीका, Python के पहले से मौजूद os
मॉड्यूल पर environ
एट्रिब्यूट से कॉन्फ़िगरेशन डेटा लोड करता है. उदाहरण के लिए:
os.environ["GOOGLE_ADS_CLIENT_ID"]
एनवायरमेंट वैरिएबल से कॉन्फ़िगरेशन की मदद से, क्लाइंट इंस्टेंस को शुरू करने का उदाहरण यहां दिया गया है:
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()
एनवायरमेंट वैरिएबल की मदद से logging
को कॉन्फ़िगर करने के लिए, कॉन्फ़िगरेशन वैल्यू एक JSON ऑब्जेक्ट होनी चाहिए. यह वैल्यू, सैंपल google-ads.yaml
कॉन्फ़िगरेशन फ़ाइल में मौजूद 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
का इस्तेमाल करके कॉन्फ़िगरेशन
dict
को सीधे load_from_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 या dict कॉन्फ़िगरेशन का इस्तेमाल किया जा रहा हो, ये नाम एक जैसे ही होते हैं):
refresh_token
: आपका OAuth रीफ़्रेश टोकन.client_id
: आपका OAuth क्लाइंट आईडी.client_secret
: आपका OAuth क्लाइंट सीक्रेट.developer_token
: एपीआई को ऐक्सेस करने के लिए आपका डेवलपर टोकन.login_customer_id
: login-customer-id दस्तावेज़ देखें.linked_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
: प्रोटो-प्लस मैसेज का इस्तेमाल करना है या नहीं. Protobuf मैसेज के दस्तावेज़ देखें.
एनवायरमेंट वैरिएबल के तौर पर सामान्य फ़ील्ड:
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
: अलग-अलग तरह के लॉगर तय करने वाले डिक्शनरी, जिनमें एक हैंडलर और लॉग लेवल शामिल होता है.