অন্যান্য Google API-এর মতো, Google Ads API প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth 2.0 প্রোটোকল ব্যবহার করে। OAuth 2.0 আপনার Google Ads API ক্লায়েন্ট অ্যাপকে ব্যবহারকারীর লগইন তথ্য পরিচালনা বা সংরক্ষণ না করেই একজন ব্যবহারকারীর Google Ads অ্যাকাউন্ট অ্যাক্সেস করতে সক্ষম করে।
এই নির্দেশিকাটিতে তিনটি সর্বাধিক সাধারণ OAuth 2.0 প্রবাহ ব্যবহার করে Google Ads API প্রমাণীকরণের জন্য জাভা ক্লায়েন্ট লাইব্রেরি কীভাবে কনফিগার করতে হয় তা আলোচনা করা হয়েছে, পাশাপাশি প্রয়োজনীয় শংসাপত্রগুলিও ব্যাখ্যা করা হয়েছে।
গুগল বিজ্ঞাপন এপিআই অ্যাক্সেস মডেল সম্পর্কে আরও জানতে, গুগল বিজ্ঞাপন অ্যাক্সেস মডেল নির্দেশিকাটি পড়ুন।
পরিচয়পত্র
Google Ads API অ্যাক্সেস করার জন্য একটি ডেভেলপার টোকেন, OAuth 2.0 শংসাপত্র এবং কিছু ক্ষেত্রে, একটি লগইন গ্রাহক আইডি প্রয়োজন।
ডেভেলপার টোকেন
ডেভেলপার টোকেনটি একটি ম্যানেজার অ্যাকাউন্টের সাথে লিঙ্ক করা আছে এবং এটি Google বিজ্ঞাপন ওয়েব ইন্টারফেসে পাওয়া যাবে।
যদিও ডেভেলপার টোকেনটি একটি ম্যানেজার অ্যাকাউন্টের সাথে লিঙ্ক করা থাকে, তবুও এটি সেই অ্যাকাউন্টে অ্যাক্সেস প্রদান করে না। পরিবর্তে, ডেভেলপার টোকেন সাধারণভাবে API-তে অ্যাক্সেস প্রদান করে এবং অ্যাকাউন্ট-স্তরের অ্যাক্সেস OAuth 2.0 এর মাধ্যমে কনফিগার করা হয়।
ক্লায়েন্ট লাইব্রেরিতে, ডেভেলপার টোকেনটি আপনার ads.properties ফাইলে api.googleads.developerToken কী দ্বারা নির্দিষ্ট করা হয়।
OAuth 2.0 শংসাপত্র
Google Ads অ্যাকাউন্ট অ্যাক্সেস সহ Google অ্যাকাউন্ট ব্যবহারকারী হিসেবে অনুমোদন পেতে, আপনাকে OAuth 2.0 শংসাপত্রের একটি সেট প্রদান করতে হবে। ব্যবহৃত OAuth 2.0 প্রবাহের উপর নির্ভর করে প্রয়োজনীয় শংসাপত্রের ধরণ পরিবর্তিত হয়।
লাইব্রেরিটি তিনটি প্রবাহ সমর্থন করে:
- পরিষেবা অ্যাকাউন্ট প্রবাহ
- একক-ব্যবহারকারী প্রমাণীকরণ প্রবাহ
- একাধিক ব্যবহারকারীর প্রমাণীকরণ প্রবাহ
Google Ads API OAuth প্রবাহ সম্পর্কে বিস্তারিত জানতে OAuth ওভারভিউ দেখুন এবং প্রয়োজনীয় শংসাপত্রগুলি পেতে আপনার চাহিদাগুলি সর্বোত্তমভাবে পূরণ করে এমন প্রবাহের নির্দেশাবলী অনুসরণ করুন।
লগইন গ্রাহক আইডি
ঐচ্ছিকভাবে, এমন একটি ম্যানেজার অ্যাকাউন্টের গ্রাহক আইডি উল্লেখ করুন যা পরিবেশনকারী অ্যাকাউন্টে অ্যাক্সেস প্রদান করে। যদি গ্রাহক অ্যাকাউন্টে আপনার অ্যাক্সেস কোনও ম্যানেজার অ্যাকাউন্টের মাধ্যমে হয় তবে এটি অবশ্যই উল্লেখ করতে হবে। গ্রাহক আইডির পথে সমস্ত ম্যানেজার অ্যাকাউন্ট নির্দিষ্ট করার প্রয়োজন নেই, শুধুমাত্র অ্যাক্সেস অনুমতির জন্য আপনি যে শীর্ষস্থানীয় ম্যানেজার আইডি ব্যবহার করছেন তা নির্দিষ্ট করার প্রয়োজন নেই। আরও বিস্তারিত জানার জন্য, সম্পর্কিত ডকুমেন্টেশন দেখুন।
ক্লায়েন্ট লাইব্রেরিতে, লগইন গ্রাহক আইডি আপনার ads.properties ফাইলে api.googleads.loginCustomerId কী দ্বারা নির্দিষ্ট করা হয়।
কনফিগারেশন
আপনি ক্লায়েন্ট লাইব্রেরিটি একটি ads.properties ফাইল, পরিবেশ ভেরিয়েবল, অথবা প্রোগ্রাম্যাটিকভাবে কনফিগার করতে পারেন। এই নির্দেশিকাটি একটি ads.properties ফাইল ব্যবহারের উপর আলোকপাত করে। সমস্ত বিকল্প সম্পর্কে বিস্তারিত জানার জন্য কনফিগারেশন নির্দেশিকাটি দেখুন।
যদি ads.properties ফাইল ব্যবহার করেন, তাহলে এটি আপনার হোম ডিরেক্টরিতে রাখুন: ~/ads.properties ।
OAuth ওয়ার্কফ্লো
Google Ads API-এর সাথে কাজ করার সময় তিনটি সাধারণ ওয়ার্কফ্লো ব্যবহার করা হয়।
পরিষেবা অ্যাকাউন্ট প্রবাহ
যদি আপনার কর্মপ্রবাহের জন্য কোনও মানুষের মিথস্ক্রিয়ার প্রয়োজন না হয়, তাহলে এটিই প্রস্তাবিত কর্মপ্রবাহ। এই কর্মপ্রবাহের জন্য একটি কনফিগারেশন ধাপ প্রয়োজন, যেখানে ব্যবহারকারী তাদের Google বিজ্ঞাপন অ্যাকাউন্টে একটি পরিষেবা অ্যাকাউন্ট যোগ করে। এরপর অ্যাপটি ব্যবহারকারীর Google বিজ্ঞাপন অ্যাকাউন্ট পরিচালনা করার জন্য পরিষেবা অ্যাকাউন্টের শংসাপত্র ব্যবহার করতে পারে।
একবার আপনার কাছে প্রাইভেট কী JSON ফাইল হয়ে গেলে, আপনার ads.properties ফাইলে নিম্নলিখিতগুলি যোগ করুন:
api.googleads.serviceAccountSecretsPath=PRIVATE_KEY_JSON_FILE_PATH
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
# Only add this key if you are using impersonation to access an account
# other than the service account itself.
# api.googleads.serviceAccountUser=USER_EMAIL_TO_IMPERSONATE
আরও জানতে পরিষেবা অ্যাকাউন্ট ওয়ার্কফ্লো নির্দেশিকাটি দেখুন।
একক-ব্যবহারকারী প্রমাণীকরণ প্রবাহ
যদি আপনি পরিষেবা অ্যাকাউন্ট ব্যবহার করতে না পারেন তবে এই ওয়ার্কফ্লো ব্যবহার করা যেতে পারে। এই ওয়ার্কফ্লোটির জন্য দুটি কনফিগারেশন ধাপ প্রয়োজন:
- Google Ads API ব্যবহার করে পরিচালিত সমস্ত অ্যাকাউন্টে একজন ব্যবহারকারীকে অ্যাক্সেস দিন। একটি সাধারণ পদ্ধতি হল ব্যবহারকারীকে একটি Google Ads API ম্যানেজার অ্যাকাউন্ট দেওয়া এবং সেই ম্যানেজার অ্যাকাউন্টের অধীনে সমস্ত Google Ads অ্যাকাউন্ট লিঙ্ক করা।
- ব্যবহারকারী gcloud অথবা
GenerateUserCredentialsকোড উদাহরণের মতো একটি কমান্ড-লাইন টুল চালান যাতে আপনার অ্যাপ তাদের পক্ষ থেকে তাদের সমস্ত Google Ads অ্যাকাউন্ট পরিচালনা করতে পারে।
এই শংসাপত্রগুলি হয়ে গেলে, আপনার ads.properties ফাইলে নিম্নলিখিতগুলি যোগ করুন:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
আরও জানতে একক-ব্যবহারকারী প্রমাণীকরণ কর্মপ্রবাহ নির্দেশিকাটি দেখুন।
একাধিক ব্যবহারকারীর প্রমাণীকরণ প্রবাহ
যদি আপনার অ্যাপ ব্যবহারকারীদের সাইন ইন করতে এবং তাদের পক্ষ থেকে তাদের Google Ads অ্যাকাউন্ট পরিচালনা করার জন্য আপনার অ্যাপকে অনুমোদন দেয়, তাহলে এটিই প্রস্তাবিত ওয়ার্কফ্লো। GenerateUserCredentials হল একটি কমান্ড লাইন কোড উদাহরণ যা রানটাইমে ব্যবহারকারীর প্রমাণীকরণ কীভাবে তাদের পক্ষ থেকে তাদের Google Ads অ্যাকাউন্ট পরিচালনা করতে হয় তা দেখায়। ব্যবহারকারীর প্রমাণীকরণের প্রয়োজন এমন ডেস্কটপ অ্যাপ তৈরি করার জন্য আপনি এই কোড উদাহরণটি রেফারেন্স হিসাবে ব্যবহার করতে পারেন।
আপনার ads.properties ফাইলে নিম্নলিখিতটি যোগ করুন:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
আরও জানতে মাল্টি-ইউজার অথেনটিকেশন ওয়ার্কফ্লো গাইডটি দেখুন।
যদি আমার ব্যবহারকারী একাধিক অ্যাকাউন্ট পরিচালনা করে?
একজন ব্যবহারকারীর পক্ষে একাধিক Google Ads অ্যাকাউন্ট পরিচালনা করা সাধারণ, হয় সরাসরি অ্যাকাউন্ট অ্যাক্সেসের মাধ্যমে, অথবা একটি Google Ads ম্যানেজার অ্যাকাউন্টের মাধ্যমে। জাভা ক্লায়েন্ট লাইব্রেরি নিম্নলিখিত কোড উদাহরণগুলি প্রদান করে যা এই ধরনের ক্ষেত্রে কীভাবে পরিচালনা করতে হয় তা ব্যাখ্যা করে।
- GetAccountHierarchy কোডের উদাহরণটি দেখায় কিভাবে একটি Google Ads ম্যানেজার অ্যাকাউন্টের অধীনে থাকা সমস্ত অ্যাকাউন্টের তালিকা পুনরুদ্ধার করতে হয়।
- ListAccessibleCustomers কোড উদাহরণটি দেখায় যে কীভাবে একজন ব্যবহারকারীর সরাসরি অ্যাক্সেস আছে এমন সমস্ত অ্যাকাউন্টের তালিকা পুনরুদ্ধার করা যায়। এই অ্যাকাউন্টগুলি
LoginCustomerIdসেটিং এর জন্য বৈধ মান হিসাবে ব্যবহার করা যেতে পারে।
অ্যাপ্লিকেশনের ডিফল্ট শংসাপত্র
জাভা ক্লায়েন্ট লাইব্রেরি অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রের সাহায্যে প্রমাণীকরণ সমর্থন করে।
এটি বিশেষ করে স্থানীয় ডেভেলপমেন্টের জন্য অথবা বিভিন্ন Google API-এর বিরুদ্ধে ডেভেলপমেন্টের জন্য কার্যকর, কারণ আপনি একই শংসাপত্রগুলি পুনরায় ব্যবহার করতে পারেন, তবে শর্ত থাকে যে তারা সঠিক OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে।
Google Ads API-এর জন্য, নিশ্চিত করুন যে আপনার অ্যাপ্লিকেশনের ডিফল্ট ক্রেডেনশিয়ালগুলি https://www.googleapis.com/auth/adwords OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে।
অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করতে, আপনার ads.properties ফাইলে api.googleads.useApplicationDefaultCredentials বিকল্পটি true তে সেট করুন। অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করার সময়, ক্লায়েন্ট আইডি, ক্লায়েন্ট সিক্রেট এবং রিফ্রেশ টোকেন সেট করা উচিত নয়।