অন্যান্য গুগল এপিআই-এর মতোই, গুগল অ্যাডস এপিআই প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth 2.0 প্রোটোকল ব্যবহার করে। OAuth 2.0 আপনার গুগল অ্যাডস এপিআই ক্লায়েন্ট অ্যাপকে ব্যবহারকারীর লগইন তথ্য পরিচালনা বা সংরক্ষণ না করেই তার গুগল অ্যাডস অ্যাকাউন্ট অ্যাক্সেস করার সুযোগ দেয়।
এই নির্দেশিকায় তিনটি সর্বাধিক প্রচলিত OAuth 2.0 ফ্লো ব্যবহার করে গুগল অ্যাডস এপিআই অথেনটিকেশনের জন্য জাভা ক্লায়েন্ট লাইব্রেরি কীভাবে কনফিগার করতে হয়, তা আলোচনা করা হয়েছে এবং এর সাথে প্রয়োজনীয় ক্রেডেনশিয়ালগুলোও ব্যাখ্যা করা হয়েছে।
গুগল অ্যাডস এপিআই অ্যাক্সেস মডেল সম্পর্কে আরও বিস্তারিত জানতে, গুগল অ্যাডস অ্যাক্সেস মডেল গাইডটি পড়ুন।
যোগ্যতা
গুগল অ্যাডস এপিআই অ্যাক্সেস করার জন্য একটি ডেভেলপার টোকেন, OAuth 2.0 ক্রেডেনশিয়াল এবং কিছু ক্ষেত্রে, একটি লগইন কাস্টমার আইডি প্রয়োজন হয়।
ডেভেলপার টোকেন
ডেভেলপার টোকেনটি একটি ম্যানেজার অ্যাকাউন্টের সাথে সংযুক্ত থাকে এবং এটি গুগল অ্যাডস ওয়েব ইন্টারফেসে পাওয়া যায়।
যদিও ডেভেলপার টোকেনটি একটি ম্যানেজার অ্যাকাউন্টের সাথে সংযুক্ত থাকে, এটি সেই অ্যাকাউন্টে অ্যাক্সেস প্রদান করে না। পরিবর্তে, ডেভেলপার টোকেনটি সাধারণভাবে এপিআই (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 ওয়ার্কফ্লো
গুগল অ্যাডস এপিআই নিয়ে কাজ করার ক্ষেত্রে সাধারণত তিনটি কর্মপ্রবাহ ব্যবহার করা হয়।
পরিষেবা অ্যাকাউন্ট প্রবাহ
আপনার ওয়ার্কফ্লোতে যদি কোনো মানুষের হস্তক্ষেপের প্রয়োজন না হয়, তবে এটিই প্রস্তাবিত কর্মপ্রবাহ। এই কর্মপ্রবাহে একটি কনফিগারেশন ধাপ প্রয়োজন, যেখানে ব্যবহারকারী তার গুগল অ্যাডস অ্যাকাউন্টে একটি সার্ভিস অ্যাকাউন্ট যোগ করেন। এরপর অ্যাপটি সেই সার্ভিস অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করে ব্যবহারকারীর গুগল অ্যাডস অ্যাকাউন্টটি পরিচালনা করতে পারে।
একবার প্রাইভেট কী 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
আরও জানতে সার্ভিস অ্যাকাউন্ট ওয়ার্কফ্লো গাইডটি দেখুন।
একক-ব্যবহারকারী প্রমাণীকরণ প্রবাহ
যদি আপনি সার্ভিস অ্যাকাউন্ট ব্যবহার করতে না পারেন, তবে এই ওয়ার্কফ্লোটি ব্যবহার করা যেতে পারে। এই ওয়ার্কফ্লোটির জন্য দুটি কনফিগারেশন ধাপ প্রয়োজন:
- গুগল অ্যাডস এপিআই ব্যবহার করে পরিচালনা করা হবে এমন সমস্ত অ্যাকাউন্টে একজন ব্যবহারকারীকে অ্যাক্সেস দিন। একটি প্রচলিত পদ্ধতি হলো ব্যবহারকারীকে একটি গুগল অ্যাডস এপিআই ম্যানেজার অ্যাকাউন্ট দেওয়া এবং সেই ম্যানেজার অ্যাকাউন্টের অধীনে সমস্ত গুগল অ্যাডস অ্যাকাউন্ট লিঙ্ক করা।
- ব্যবহারকারী আপনার অ্যাপকে তার পক্ষ থেকে সমস্ত গুগল অ্যাডস অ্যাকাউন্ট পরিচালনা করার অনুমোদন দিতে gcloud- এর মতো একটি কমান্ড-লাইন টুল অথবা
GenerateUserCredentialsকোড উদাহরণটি চালান।
এই ক্রেডেনশিয়ালগুলো পেয়ে গেলে, আপনার 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
আরও জানতে একক-ব্যবহারকারী প্রমাণীকরণ কর্মপ্রবাহ নির্দেশিকাটি দেখুন।
একাধিক ব্যবহারকারী প্রমাণীকরণ প্রবাহ
আপনার অ্যাপ যদি ব্যবহারকারীদের সাইন ইন করার এবং তাদের পক্ষ থেকে গুগল অ্যাডস অ্যাকাউন্ট পরিচালনা করার জন্য আপনার অ্যাপকে অনুমোদন দেওয়ার সুযোগ দেয়, তবে এটিই প্রস্তাবিত কর্মপ্রবাহ। GenerateUserCredentials হলো একটি কমান্ড লাইন কোডের উদাহরণ, যা দেখায় কীভাবে রানটাইমে ব্যবহারকারীর পক্ষ থেকে তাদের গুগল অ্যাডস অ্যাকাউন্ট পরিচালনা করার জন্য ব্যবহারকারীর প্রমাণীকরণ সংগ্রহ করতে হয়। ব্যবহারকারীর প্রমাণীকরণের প্রয়োজন এমন ডেস্কটপ অ্যাপ তৈরি করার জন্য আপনি এই কোডের উদাহরণটিকে একটি রেফারেন্স হিসেবে ব্যবহার করতে পারেন।
আপনার 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
আরও জানতে একাধিক ব্যবহারকারী প্রমাণীকরণ কর্মপ্রবাহ নির্দেশিকাটি দেখুন।
যদি আমার ব্যবহারকারী একাধিক অ্যাকাউন্ট পরিচালনা করে তাহলে কী হবে?
একজন ব্যবহারকারীর পক্ষে সরাসরি অ্যাকাউন্টে প্রবেশ করে অথবা একটি গুগল অ্যাডস ম্যানেজার অ্যাকাউন্টের মাধ্যমে একাধিক গুগল অ্যাডস অ্যাকাউন্ট পরিচালনা করা একটি সাধারণ বিষয়। জাভা ক্লায়েন্ট লাইব্রেরিটি নিম্নলিখিত কোড উদাহরণগুলো প্রদান করে, যা এই ধরনের পরিস্থিতি কীভাবে সামাল দিতে হয় তা তুলে ধরে।
- GetAccountHierarchy কোড উদাহরণটি দেখায় কিভাবে একটি গুগল অ্যাডস ম্যানেজার অ্যাকাউন্টের অধীনে থাকা সমস্ত অ্যাকাউন্টের তালিকা পুনরুদ্ধার করতে হয়।
- ListAccessibleCustomers কোড উদাহরণটি দেখায় কিভাবে একজন ব্যবহারকারীর সরাসরি অ্যাক্সেস আছে এমন সমস্ত অ্যাকাউন্টের তালিকা পুনরুদ্ধার করতে হয়। এই অ্যাকাউন্টগুলি পরবর্তীতে
LoginCustomerIdসেটিং-এর জন্য বৈধ মান হিসাবে ব্যবহার করা যেতে পারে।
অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল
জাভা ক্লায়েন্ট লাইব্রেরিটি অ্যাপ্লিকেশনের ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করে প্রমাণীকরণও সমর্থন করে।
এটি স্থানীয় ডেভেলপমেন্টের জন্য অথবা বিভিন্ন গুগল এপিআই-এর জন্য ডেভেলপমেন্টের ক্ষেত্রে বিশেষভাবে উপযোগী, কারণ আপনি একই ক্রেডেনশিয়াল পুনরায় ব্যবহার করতে পারেন, যদি সেগুলোর সঠিক OAuth 2.0 স্কোপ অ্যাক্সেস করার ক্ষমতা থাকে।
Google Ads API-এর জন্য, নিশ্চিত করুন যে আপনার অ্যাপ্লিকেশনের ডিফল্ট ক্রেডেনশিয়াল https://www.googleapis.com/auth/adwords OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে।
অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করতে, আপনার ads.properties ফাইলে api.googleads.useApplicationDefaultCredentials অপশনটিকে true তে সেট করুন। অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করার সময়, ক্লায়েন্ট আইডি, ক্লায়েন্ট সিক্রেট এবং রিফ্রেশ টোকেন সেট করার প্রয়োজন নেই।