অন্যান্য Google API-এর মতো, Google Ads API যাচাইকরণ ও অনুমোদনের জন্য OAuth 2.0 প্রোটোকল ব্যবহার করে। OAuth 2.0 আপনার Google Ads API .NET ক্লায়েন্ট অ্যাপকে ব্যবহারকারীর লগ-ইন তথ্য ম্যানেজ বা স্টোর না করেই ব্যবহারকারীর Google Ads অ্যাকাউন্ট অ্যাক্সেস করতে দেয়।
Google Ads অ্যাক্সেস মডেল সম্পর্কে বোঝা
Google Ads API-এর সাথে কার্যকরভাবে কাজ করতে, Google Ads অ্যাক্সেস মডেল কীভাবে কাজ করে তা বুঝুন। Google Ads অ্যাক্সেস মডেল গাইড দেখুন।
OAuth ওয়ার্কফ্লো
Google Ads API-এর সাথে কাজ করার সময় তিনটি সাধারণ ওয়ার্কফ্লো ব্যবহার করা হয়।
সার্ভিস অ্যাকাউন্ট ফ্লো
আপনার আবেদনের ক্ষেত্রে কোনও হিউম্যান ইন্টার্যাকশনের প্রয়োজন না হলে, এই ওয়ার্কফ্লো সাজেস্ট করা হয়। এই ওয়ার্কফ্লোতে একটি কনফিগারেশন ধাপ আছে, যেখানে ব্যবহারকারী তার Google Ads অ্যাকাউন্টে একটি সার্ভিস অ্যাকাউন্ট যোগ করেন। এরপরে, অ্যাপটি ব্যবহারকারীর Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করতে পারে।
নিম্নলিখিত উপায়ে লাইব্রেরি কনফিগার করুন:
// Initialize a GoogleAdsConfig instance.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
// Initialize a GoogleAdsClient instance.
GoogleAdsClient client = new GoogleAdsClient(config);
আরও জানতে সার্ভিস অ্যাকাউন্ট ওয়ার্কফ্লো গাইড দেখুন।
সিঙ্গেল-ইউজার যাচাইকরণ ফ্লো
আপনি পরিষেবা অ্যাকাউন্ট ব্যবহার করতে না পারলে এই ওয়ার্কফ্লো ব্যবহার করা যেতে পারে। এই ওয়ার্কফ্লোর জন্য দুটি কনফিগারেশন ধাপ প্রয়োজন:
- Google Ads API ব্যবহার করে ম্যানেজ করা হবে এমন সব অ্যাকাউন্টে একজন ব্যবহারকারীকে অ্যাক্সেস দিন। একটি সাধারণ পদ্ধতি হল ব্যবহারকারীকে Google Ads API ম্যানেজার অ্যাকাউন্টে অ্যাক্সেস দেওয়া এবং সেই ম্যানেজার অ্যাকাউন্টের অধীনে সব Google Ads অ্যাকাউন্ট লিঙ্ক করা।
- ব্যবহারকারী
gcloud-এর মতো কমান্ড-লাইন টুল বাGenerateUserCredentialsকোডের উদাহরণ রান করেন যাতে আপনার অ্যাপকে তার হয়ে তার সব Google Ads অ্যাকাউন্ট ম্যানেজ করার অনুমতি দেওয়া যায়।
ব্যবহারকারীর OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে লাইব্রেরি শুরু করুন:
GoogleAdsConfig config = new GoogleAdsConfig()
{
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE",
OAuth2ClientId = "INSERT_OAUTH_CLIENT_ID_HERE",
OAuth2ClientSecret = "INSERT_OAUTH_CLIENT_SECRET_HERE",
OAuth2RefreshToken = "INSERT_REFRESH_TOKEN_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);
আরও জানতে সিঙ্গেল-ইউজার যাচাইকরণ ওয়ার্কফ্লো গাইড দেখুন।
মাল্টি-ইউজার যাচাইকরণ ফ্লো
আপনার অ্যাপ যদি ব্যবহারকারীদের সাইন-ইন করতে এবং তাদের হয়ে Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য আপনার অ্যাপকে
অনুমতি দিতে দেয়, তাহলে এটি হল সাজেস্ট করা ওয়ার্কফ্লো। আপনার অ্যাপ
প্রতিটি ব্যবহারকারীর সেশন
বা অনুরোধ অনুযায়ী OAuth 2.0 ব্যবহারকারীর ক্রেডেনশিয়াল ডাইনামিক তৈরি ও ম্যানেজ করে এবং তারপর অ্যাক্টিভ ব্যবহারকারীর
রিফ্রেশ টোকেন দিয়ে একটি GoogleAdsClient ইনিশিয়ালাইজ করে:
GoogleAdsConfig config = new GoogleAdsConfig()
{
LoginCustomerId = userSession.LoginCustomerId,
OAuth2ClientId = "INSERT_OAUTH_CLIENT_ID_HERE",
OAuth2ClientSecret = "INSERT_OAUTH_CLIENT_SECRET_HERE",
OAuth2RefreshToken = userSession.RefreshToken
};
GoogleAdsClient client = new GoogleAdsClient(config);
Google.Ads.GoogleAds v27.0.0 থেকে শুরু করে, আপনি Credentials প্রপার্টি ব্যবহার করে সরাসরি GoogleAdsConfig-এ
আগে থেকে কনফিগার করা ICredential বা GoogleCredential অবজেক্ট ইনজেক্ট
করতে পারবেন।
আরও জানতে মাল্টি-ইউজার যাচাইকরণ ওয়ার্কফ্লো গাইড দেখুন। রেফারেন্সের জন্য .NET ক্লায়েন্ট লাইব্রেরিতে দুটি কোডের উদাহরণ অন্তর্ভুক্ত আছে:
AuthenticateInAspNetCoreApplicationকোড উদাহরণ থেকে বোঝা যায় যে কীভাবে এমন একটি ওয়েব অ্যাপ তৈরি করতে হয় যা রানটাইমে ব্যবহারকারীর প্রমাণীকরণ প্রাপ্ত করে যাতে তাদের হয়ে তাদের Google Ads অ্যাকাউন্ট ম্যানেজ করা যায়। অ্যাপটি ব্যবহারকারীর Google Ads অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনতে ব্যবহারকারীর OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে।GenerateUserCredentialsকমান্ড-লাইন কোডের উদাহরণ থেকে বোঝা যায় যে কীভাবে রানটাইমে ব্যবহারকারীর যাচাইকরণ পাওয়া যায় যাতে তার হয়ে তার Google Ads অ্যাকাউন্ট ম্যানেজ করা যায়। ব্যবহারকারীর পরিচয় যাচাইকরণ প্রয়োজন এমন ডেস্কটপ অ্যাপ তৈরি করার জন্য আপনি এই কোড উদাহরণ রেফারেন্স হিসেবে ব্যবহার করতে পারেন।
আমার ব্যবহারকারী একাধিক অ্যাকাউন্ট ম্যানেজ করলে কী হবে?
কোনও ব্যবহারকারী একাধিক Google Ads অ্যাকাউন্ট ম্যানেজ করতে পারেন। এটি সাধারণ ব্যাপার। তিনি এটি অ্যাকাউন্টে সরাসরি অ্যাক্সেস নিয়ে অথবা Google Ads ম্যানেজার অ্যাকাউন্টের মাধ্যমে করতে পারেন। .NET ক্লায়েন্ট লাইব্রেরি নিম্নলিখিত কোডের উদাহরণ প্রদান করে যা এই ধরনের কেস কীভাবে ম্যানেজ করতে হয় তা ব্যাখ্যা করে:
GetAccountHierarchyকোডের উদাহরণ থেকে জানা যায় যে কীভাবে Google Ads ম্যানেজার অ্যাকাউন্টের অধীনে থাকা সব অ্যাকাউন্টের তালিকা পাওয়া যায়।ListAccessibleCustomersকোডের উদাহরণ দেখায় যে কোনও ব্যবহারকারীর সরাসরি অ্যাক্সেস আছে এমন সব অ্যাকাউন্টের তালিকা কীভাবে ফেরত আনা যায়। এইসব অ্যাকাউন্টকে তখনLoginCustomerIdসেটিংয়ের জন্য সঠিক ভ্যালু হিসেবে ব্যবহার করা যেতে পারে।
অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল
.NET ক্লায়েন্ট লাইব্রেরি (v24.1.0 এবং তার পরবর্তী ভার্সন) অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল-এর মাধ্যমে যাচাইকরণও সমর্থন করে।
এটি বিশেষ করে লোকাল ডেভেলপমেন্ট বা বিভিন্ন Google API-এর জন্য ডেভেলপমেন্টের ক্ষেত্রে উপযোগী, কারণ আপনি একই ক্রেডেনশিয়াল আবার ব্যবহার করতে পারবেন, তবে শর্ত হল যে সেগুলি যেন প্রয়োজনীয় OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে।
Google Ads API-এর জন্য, আপনার অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল যাতে
https://www.googleapis.com/auth/adwords OAuth 2.0 স্কোপ অ্যাক্সেস করতে পারে তা নিশ্চিত করুন।
অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করতে, আপনার GoogleAdsConfig-এ
UseApplicationDefaultCredentials বিকল্পটি true হিসেবে সেট করুন
(অথবা config.LoadFromEnvironmentVariables()-এর মাধ্যমে কনফিগারেশন লোড করার সময় USE_APPLICATION_DEFAULT_CREDENTIALS=true এনভায়রনমেন্ট ভেরিয়েবল সেট করুন):
GoogleAdsConfig config = new GoogleAdsConfig()
{
UseApplicationDefaultCredentials = true,
LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);
.NET ক্লায়েন্ট লাইব্রেরি কনফিগার করার জন্য উপলভ্য বিকল্প সম্পর্কে আরও জানতে কনফিগারেশন পৃষ্ঠা দেখুন।