ক্লায়েন্ট কনফিগার করার বিভিন্ন উপায় রয়েছে।
প্রমাণীকরণ কনফিগারেশন
Google Ads API অ্যাক্সেস করার জন্য প্রয়োজনীয় OAuth শংসাপত্রগুলি পরিচালনা করার একাধিক উপায় রয়েছে। আপনি যে পদ্ধতিটি বেছে নেবেন তা আপনি কোন কনফিগারেশন ক্ষেত্রগুলি ব্যবহার করবেন তা প্রভাবিত করবে। আরও তথ্যের জন্য আমাদের প্রমাণীকরণ নির্দেশিকা দেখুন।
YAML ফাইল ব্যবহার করে কনফিগারেশন
ক্লায়েন্ট শুরু করার সময় আপনি একটি YAML ফাইল নির্দিষ্ট করতে পারেন যাতে Google Ads API-তে অনুরোধ করার জন্য প্রয়োজনীয় তথ্য থাকে। 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 হিসেবে সংরক্ষণ করা উচিত।
এনভায়রনমেন্ট ভেরিয়েবল সাধারণত $HOME ডিরেক্টরিতে অবস্থিত .bashrc বা .bash_profile ফাইলের মতো একটি bash কনফিগারেশন ফাইলে সংজ্ঞায়িত করা হয়। কমান্ড লাইন ব্যবহার করেও এগুলি সংজ্ঞায়িত করা যেতে পারে । মনে রাখবেন যে এই নির্দেশাবলী ধরে নিচ্ছেন আপনি 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)
কনফিগারেশন ক্ষেত্র
ক্লায়েন্ট লাইব্রেরি কনফিগারেশন নিম্নলিখিত ক্ষেত্রগুলিকে সমর্থন করে।
প্রমাণীকরণ
আপনি কোন প্রমাণীকরণ পদ্ধতি ব্যবহার করছেন তার উপর নির্ভর করে, শুধুমাত্র এই ক্ষেত্রগুলির একটি গ্রুপ ব্যবহার করুন:
- অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র সহ একক-ব্যবহারকারী ( ডকুমেন্টেশন )
-
use_application_default_credentials: লাইব্রেরি প্রমাণীকরণের জন্য অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) ব্যবহার করবে কিনা।
-
- OAuth টোকেন সহ একক ব্যবহারকারী ( ডকুমেন্টেশন )
-
client_id: আপনার OAuth ক্লায়েন্ট আইডি। -
client_secret: আপনার OAuth ক্লায়েন্টের গোপন তথ্য। -
refresh_token: আপনার OAuth রিফ্রেশ টোকেন।
-
- পরিষেবা-অ্যাকাউন্ট ( ডকুমেন্টেশন )
-
json_key_file_path: একটি স্থানীয় প্রাইভেট কী ফাইলের একটি পাথ। এটি একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করে প্রমাণীকরণের জন্য ব্যবহৃত হয়।
-
লাইব্রেরির আচরণ
এই ক্ষেত্রগুলি লাইব্রেরির আচরণ নির্ধারণ করে:
-
logging: লগিং কনফিগারেশনের বিশদ দেখুন। -
http_proxy: প্রক্সি ডকুমেন্টেশন দেখুন। -
use_proto_plus: প্রোটো-প্লাস বার্তা ব্যবহার করা হবে কিনা। প্রোটোবাফ বার্তা ডকুমেন্টেশন দেখুন।
অনুরোধ-স্তরের কনফিগারেশন
-
developer_token: API অ্যাক্সেস করার জন্য আপনার ডেভেলপার টোকেন প্রয়োজন । -
linked_customer_id: linked-customer-id ডকুমেন্টেশন দেখুন। -
login_customer_id: login-customer-id ডকুমেন্টেশন দেখুন।
পরিবেশের ভেরিয়েবল
পরিবেশ ভেরিয়েবল ব্যবহার করে লাইব্রেরি কনফিগার করতে, নিম্নলিখিতগুলি ব্যবহার করুন:
-
GOOGLE_ADS_CLIENT_ID -
GOOGLE_ADS_CLIENT_SECRET -
GOOGLE_ADS_CONFIGURATION_FILE_PATH -
GOOGLE_ADS_DEVELOPER_TOKEN -
GOOGLE_ADS_HTTP_PROXY -
GOOGLE_ADS_JSON_KEY_FILE_PATH -
GOOGLE_ADS_LINKED_CUSTOMER_ID -
GOOGLE_ADS_LOGIN_CUSTOMER_ID -
GOOGLE_ADS_LOGGING -
GOOGLE_ADS_REFRESH_TOKEN -
GOOGLE_ADS_USE_PROTO_PLUS -
GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS
লগিং কনফিগারেশন
লগিং ক্ষেত্রগুলি, যা logging কনফিগারেশন ক্ষেত্রের নীচের ক্ষেত্রগুলি, সরাসরি logging.config বিল্ট-ইন মডিউল থেকে নেওয়া হয় কারণ লাইব্রেরি logging নেমস্পেসের অধীনে সমস্ত ক্ষেত্র সরাসরি logging.config.dictConfig পদ্ধতিতে প্রেরণ করবে। সম্পূর্ণ বিবরণের জন্য লগিং নির্দেশিকাটি দেখুন।
-
version: একটি পূর্ণসংখ্যার মান যা একটি স্কিমা সংস্করণকে প্রতিনিধিত্ব করে। -
disable_existing_loggers: অ্যাপ্লিকেশনের অন্য কোথাও কনফিগার করা লগারগুলি নিষ্ক্রিয় করা উচিত কিনা। -
formatters: বিভিন্ন ধরণের ফর্ম্যাটর সংজ্ঞায়িত করে এমন অভিধান। -
handlers: বিভিন্ন হ্যান্ডলার সংজ্ঞায়িত করে এমন অভিধান, যা লগ কোথায় লেখা হবে এবং কোন ফর্ম্যাটার ব্যবহার করা উচিত তা নিয়ন্ত্রণ করে। -
loggers: বিভিন্ন ধরণের লগার সংজ্ঞায়িত অভিধান, যার মধ্যে একটি হ্যান্ডলার এবং একটি লগ স্তর অন্তর্ভুক্ত।