যাচাইকরণ ও অনুমোদন

অন্যান্য Google API-এর মতো, Google Ads API যাচাইকরণ ও অনুমোদনের জন্য OAuth 2.0 প্রোটোকল ব্যবহার করে। OAuth 2.0 আপনার Google Ads API ক্লায়েন্ট অ্যাপকে ব্যবহারকারীর লগ-ইন তথ্য ম্যানেজ বা স্টোর না করেই ব্যবহারকারীর Google Ads অ্যাকাউন্ট অ্যাক্সেস করার সুবিধা দেয়।

এই গাইডে তিনটি সবচেয়ে সাধারণ OAuth 2.0 ফ্লো ব্যবহার করে Google Ads API যাচাইকরণের জন্য Java ক্লায়েন্ট লাইব্রেরি কীভাবে কনফিগার করতে হয় তা কভার করা হয়েছে, এর সাথে প্রয়োজনীয় ক্রেডেনশিয়ালও ব্যাখ্যা করা হয়েছে।

Google Ads API অ্যাক্সেস মডেল সম্পর্কে আরও জানতে, Google Ads অ্যাক্সেস মডেল গাইড পড়ুন।

ক্রেডেনশিয়াল

Google Ads API অ্যাক্সেস করার জন্য OAuth 2.0 ক্রেডেনশিয়াল এবং কিছু ক্ষেত্রে লগ-ইন কাস্টমার আইডি প্রয়োজন।

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 Ads অ্যাকাউন্টে পরিষেবা অ্যাকাউন্ট যোগ করেন। তারপর, অ্যাপটি ব্যবহারকারীর Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করতে পারে।

ব্যক্তিগত কী JSON ফাইল পেয়ে গেলে, আপনার ads.properties ফাইলে নিম্নলিখিত তথ্য যোগ করুন:

api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE
# Only add this key if you are using Google Workspace domain-wide delegation
# to impersonate a user who has access to the Google Ads account.
# api.googleads.serviceAccountUser=USER_EMAIL_TO_IMPERSONATE

আরও জানতে সার্ভিস অ্যাকাউন্ট ওয়ার্কফ্লো গাইড দেখুন।

সিঙ্গেল-ইউজার যাচাইকরণ ফ্লো

আপনি যদি পরিষেবা অ্যাকাউন্ট ব্যবহার করতে না পারেন, তাহলে এই ওয়ার্কফ্লো ব্যবহার করা হতে পারে। এই ওয়ার্কফ্লোর জন্য দুটি কনফিগারেশন ধাপ প্রয়োজন:

  1. Google Ads API ব্যবহার করে ম্যানেজ করা হবে এমন সব অ্যাকাউন্টে একজন ব্যবহারকারীকে অ্যাক্সেস দিন। একটি সাধারণ পদ্ধতি হল ব্যবহারকারীকে Google Ads API ম্যানেজার অ্যাকাউন্টে অ্যাক্সেস দেওয়া এবং সেই ম্যানেজার অ্যাকাউন্টের অধীনে সমস্ত টার্গেট Google Ads অ্যাকাউন্ট লিঙ্ক করা।
  2. ব্যবহারকারী gcloud CLI-এর মতো কমান্ড-লাইন টুল বা 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

আরও জানতে সিঙ্গেল-ইউজার যাচাইকরণ ওয়ার্কফ্লো গাইড দেখুন।

মাল্টি-ইউজার যাচাইকরণ ফ্লো

আপনার অ্যাপ ব্যবহারকারীদের সাইন-ইন করার অনুমতি দিলে এবং তাদের হয়ে Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য আপনার অ্যাপকে অনুমতি দিলে, এটিই হল সাজেস্ট করা ওয়ার্কফ্লো। GenerateUserCredentials কোডের উদাহরণটি হল একটি কমান্ড-লাইন টুল যা দেখায় যে কীভাবে রানটাইমে ব্যবহারকারীর প্রমাণীকরণ পাওয়া যায় যাতে তাদের হয়ে তাদের Google Ads অ্যাকাউন্ট ম্যানেজ করা যায়। ব্যবহারকারীর যাচাইকরণ প্রয়োজন হয় এমন ডেস্কটপ বা ওয়েব অ্যাপ তৈরি করার জন্য আপনি এই কোডের উদাহরণ রেফারেন্স হিসেবে ব্যবহার করতে পারেন।

মাল্টি-ইউজার অ্যাপ্লিকেশনের জন্য, আপনার অ্যাপ্লিকেশনের OAuth 2.0 ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট ads.properties-এ (বা অন্য কনফিগারেশন স্টোরে) স্টোর করুন, যেখানে প্রতিটি ব্যবহারকারীর রিফ্রেশ টোকেন আপনার অ্যাপ্লিকেশন ডেটাবেসে নিরাপদে স্টোর করা হয় এবং UserCredentials এবং GoogleAdsClient তৈরি করার সময় রানটাইমে প্রোগ্রাম্যাটিক্যালি পাস করা হয়:

api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE

আরও জানতে মাল্টি-ইউজার যাচাইকরণ ওয়ার্কফ্লো গাইড দেখুন।

একাধিক অ্যাকাউন্ট ম্যানেজ করা

একজন ব্যবহারকারীর পক্ষে একাধিক Google Ads অ্যাকাউন্ট ম্যানেজ করা সাধারণ ব্যাপার, হয় অ্যাকাউন্টে সরাসরি অ্যাক্সেসের মাধ্যমে অথবা Google Ads ম্যানেজার অ্যাকাউন্টের মাধ্যমে। Java ক্লায়েন্ট লাইব্রেরি নিম্নলিখিত কোডের উদাহরণ প্রদান করে যা এই ধরনের পরিস্থিতি কীভাবে সামলাতে হয় তা ব্যাখ্যা করে:

  1. GetAccountHierarchy কোডের উদাহরণ থেকে জানা যায় যে কীভাবে Google Ads ম্যানেজার অ্যাকাউন্টের অধীনে থাকা সব অ্যাকাউন্টের তালিকা পাওয়া যায়।
  2. ListAccessibleCustomers কোডের উদাহরণ দেখায় যে কোনও ব্যবহারকারীর সরাসরি অ্যাক্সেস আছে এমন সব অ্যাকাউন্টের তালিকা কীভাবে ফেরত আনা যায়। এইসব অ্যাকাউন্টকে loginCustomerId সেটিংয়ের জন্য সঠিক ভ্যালু হিসেবে ব্যবহার করা যেতে পারে।

অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল

Java ক্লায়েন্ট লাইব্রেরিও অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল-এর মাধ্যমে যাচাইকরণ সমর্থন করে।

এটি বিশেষ করে লোকাল ডেভেলপমেন্ট বা বিভিন্ন Google API-এর ডেভেলপমেন্টের ক্ষেত্রে উপযোগী, কারণ আপনি একই ক্রেডেনশিয়াল আবার ব্যবহার করতে পারবেন, তবে শর্ত হল যে সেগুলি যেন প্রয়োজনীয় OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে।

Google Ads API-এর জন্য, আপনার অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল যাতে https://www.googleapis.com/auth/adwords OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে তা নিশ্চিত করুন।

অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করতে, api.googleads.useApplicationDefaultCredentials বিকল্পটি true-এ সেট করুন আপনার ads.properties ফাইলে (অথবা .enableApplicationDefaultCredentials()-এ কল করুন GoogleAdsClient.newBuilder()-এ)। অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করার সময়, ক্লায়েন্ট আইডি, ক্লায়েন্ট সিক্রেট এবং রিফ্রেশ টোকেন সেট করা উচিত নয়।