ক্লায়েন্ট কনফিগার করার বিভিন্ন উপায় আছে।
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
পদ্ধতিটি পাইথনের অন্তর্নির্মিত 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
ব্যবহার করে কনফিগারেশন
আপনি সরাসরি 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 বা dict কনফিগারেশন ব্যবহার করছেন কিনা এই নামগুলি একই):
-
refresh_token
: আপনার OAuth রিফ্রেশ টোকেন। -
client_id
: আপনার OAuth ক্লায়েন্ট আইডি। -
client_secret
: আপনার OAuth ক্লায়েন্ট সিক্রেট। -
developer_token
: API অ্যাক্সেস করার জন্য আপনার ডেভেলপার টোকেন। -
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
: প্রোটো-প্লাস বার্তা ব্যবহার করবেন কি না। 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
: বিভিন্ন ধরনের লগার সংজ্ঞায়িত করে অভিধান, যার মধ্যে একটি হ্যান্ডলার এবং একটি লগ লেভেল রয়েছে।