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

অন্যান্য 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);

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

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

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

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

  1. AuthenticateInAspNetCoreApplication কোড উদাহরণ থেকে বোঝা যায় যে কীভাবে এমন একটি ওয়েব অ্যাপ তৈরি করতে হয় যা রানটাইমে ব্যবহারকারীর হয়ে তার Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য ব্যবহারকারীর যাচাইকরণ সংক্রান্ত তথ্য সংগ্রহ করে। অ্যাপটি ব্যবহারকারীর Google Ads অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনতে ব্যবহারকারীর OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে।
  2. GenerateUserCredentials কমান্ড-লাইন কোডের উদাহরণ থেকে বোঝা যায় যে রানটাইমে কীভাবে ব্যবহারকারীর যাচাইকরণ পাওয়া যায় যাতে তাদের হয়ে তাদের Google Ads অ্যাকাউন্ট ম্যানেজ করা যায়। ব্যবহারকারীর যাচাইকরণ প্রয়োজন হয় এমন ডেস্কটপ অ্যাপ তৈরি করার জন্য আপনি এই কোডের উদাহরণ রেফারেন্স হিসেবে ব্যবহার করতে পারেন।

আমার ব্যবহারকারী একাধিক অ্যাকাউন্ট ম্যানেজ করলে কী হবে?

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

  1. GetAccountHierarchy কোডের উদাহরণ থেকে জানা যায় যে কীভাবে Google Ads ম্যানেজার অ্যাকাউন্টের অধীনে থাকা সব অ্যাকাউন্টের তালিকা পাওয়া যায়।
  2. 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 ক্লায়েন্ট লাইব্রেরি কনফিগার করার জন্য উপলভ্য বিকল্প সম্পর্কে আরও জানতে কনফিগারেশন পৃষ্ঠা দেখুন।