প্রমাণীকরণ এবং অনুমোদন

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

গুগল অ্যাডস অ্যাক্সেস মডেলটি বুঝুন

গুগল অ্যাডস এপিআই (Google Ads API) কার্যকরভাবে ব্যবহার করার জন্য, গুগল অ্যাডস অ্যাক্সেস মডেল কীভাবে কাজ করে তা আপনার বোঝা উচিত। আমরা গুগল অ্যাডস অ্যাক্সেস মডেল গাইডটি পড়ার জন্য দৃঢ়ভাবে সুপারিশ করছি।

OAuth ওয়ার্কফ্লো

গুগল অ্যাডস এপিআই নিয়ে কাজ করার ক্ষেত্রে সাধারণত তিনটি কর্মপ্রবাহ ব্যবহার করা হয়।

পরিষেবা অ্যাকাউন্ট প্রবাহ

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


// Initialize a GoogleAdsConfig class.
GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
    LoginCustomerId = ******
};

// Initialize a GoogleAdsClient class.
GoogleAdsClient client = new GoogleAdsClient(config);

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

একক-ব্যবহারকারী প্রমাণীকরণ প্রবাহ

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

  1. গুগল অ্যাডস এপিআই ব্যবহার করে পরিচালনা করা হবে এমন সমস্ত অ্যাকাউন্টে একজন ব্যবহারকারীকে অ্যাক্সেস দিন। একটি প্রচলিত পদ্ধতি হলো ব্যবহারকারীকে একটি গুগল অ্যাডস এপিআই ম্যানেজার অ্যাকাউন্ট দেওয়া এবং সেই ম্যানেজার অ্যাকাউন্টের অধীনে সমস্ত গুগল অ্যাডস অ্যাকাউন্ট লিঙ্ক করা।
  2. ব্যবহারকারী আপনার অ্যাপকে তার পক্ষ থেকে সমস্ত গুগল অ্যাডস অ্যাকাউন্ট পরিচালনা করার অনুমোদন দিতে gcloud- এর মতো একটি কমান্ড-লাইন টুল অথবা GenerateUserCredentials কোড উদাহরণটি চালান।

ব্যবহারকারীর OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে লাইব্রেরিটি নিম্নোক্তভাবে ইনিশিয়ালাইজ করা যেতে পারে:

GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
    DeveloperToken = DEVELOPER_TOKEN,
    LoginCustomerId = LOGIN_CUSTOMER_ID,
    OAuth2ClientId = OAUTH_CLIENT_ID,
    OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
    OAuth2RefreshToken = REFRESH_TOKEN,
};

GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);

আরও জানতে একক-ব্যবহারকারী প্রমাণীকরণ কর্মপ্রবাহ নির্দেশিকাটি দেখুন।

একাধিক ব্যবহারকারী প্রমাণীকরণ প্রবাহ

আপনার অ্যাপ যদি ব্যবহারকারীদের সাইন ইন করার এবং তাদের পক্ষ থেকে গুগল অ্যাডস অ্যাকাউন্ট পরিচালনা করার জন্য আপনার অ্যাপকে অনুমোদন দেওয়ার সুযোগ দেয়, তবে এটিই প্রস্তাবিত কর্মপ্রবাহ। আপনার অ্যাপ OAuth 2.0 ব্যবহারকারীর ক্রেডেনশিয়াল তৈরি ও পরিচালনা করে। ব্যবহারকারীর ক্রেডেনশিয়াল ব্যবহার করে লাইব্রেরিটি নিম্নোক্তভাবে ইনিশিয়ালাইজ করা যেতে পারে:

GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
    DeveloperToken = DEVELOPER_TOKEN,
    LoginCustomerId = LOGIN_CUSTOMER_ID,
    OAuth2ClientId = OAUTH_CLIENT_ID,
    OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
    OAuth2RefreshToken = REFRESH_TOKEN,
};

GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);

আরও জানতে মাল্টি-ইউজার অথেন্টিকেশন ওয়ার্কফ্লো গাইডটি দেখুন। রেফারেন্সের জন্য .NET ক্লায়েন্ট লাইব্রেরিতে দুটি কোড উদাহরণ অন্তর্ভুক্ত রয়েছে:

  1. AuthenticateInAspNetCoreApplication কোড উদাহরণটি দেখায় কিভাবে এমন একটি ওয়েব অ্যাপ তৈরি করতে হয় যা রানটাইমে ব্যবহারকারীর প্রমাণীকরণ গ্রহণ করে তাদের পক্ষ থেকে গুগল অ্যাডস অ্যাকাউন্টগুলো পরিচালনা করে। অ্যাপটি ব্যবহারকারীর গুগল অ্যাডস অ্যাকাউন্টের ক্যাম্পেইনগুলো পুনরুদ্ধার করতে তাদের OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে।

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

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

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

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

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

.NET ক্লায়েন্ট লাইব্রেরিটি অ্যাপ্লিকেশনের ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করে প্রমাণীকরণও সমর্থন করে।

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

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

অ্যাপ্লিকেশনের ডিফল্ট ক্রেডেনশিয়াল ব্যবহার করতে, আপনার GoogleAdsConfigUseApplicationDefaultCredentials অপশনটিকে true তে সেট করুন। ক্লায়েন্ট লাইব্রেরিতে অন্যান্য কনফিগারেশন প্রপার্টি সেট করার মতোই এটি করা যেতে পারে, অর্থাৎ আপনার কোডে, একটি কনফিগারেশন ফাইলে অথবা এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে।

.NET ক্লায়েন্ট লাইব্রেরি কনফিগার করার জন্য উপলব্ধ অপশনগুলো সম্পর্কে আরও বিস্তারিত জানতে কনফিগারেশন পেজটি দেখুন।