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

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

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

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

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

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

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

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

পার্ল ক্লায়েন্ট লাইব্রেরিতে একটি সার্ভিস অ্যাকাউন্টের সাথে আপনার নিজস্ব ক্রেডেনশিয়াল ব্যবহার করে এপিআই অ্যাক্সেসের জন্য OAuth2 সেট আপ করার পদ্ধতি নিচে দেওয়া হলো:

  1. OAuth2 ক্রেডেনশিয়াল তৈরি করুন:

    একটি সার্ভিস অ্যাকাউন্ট এবং একটি *.JSON ফাইল তৈরি করতে নির্দেশাবলী অনুসরণ করুন।

  2. ক্লায়েন্ট লাইব্রেরি সেট আপ করুন:

    আপনার কনফিগারেশনে প্রাইভেট কী JSON পাথ সেট করুন। যদি আপনি googleads.properties ফাইল ব্যবহার করেন, তাহলে নিম্নলিখিতটি যোগ করুন:

    jsonKeyFilePath=PRIVATE_KEY_FILE_PATH
    

    আপনি যদি এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করেন, তাহলে আপনার ব্যাশ কনফিগারেশন বা এনভায়রনমেন্টে নিম্নলিখিতটি যোগ করুন:

    export GOOGLE_ADS_JSON_KEY_FILE_PATH=PRIVATE_KEY_FILE_PATH
    

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

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

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

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

নিম্নলিখিত ধাপগুলো একটি ইন্টারেক্টিভ কোড উদাহরণ চালু করে, যার জন্য আপনাকে ইনপুট দিতে হবে।

  1. টার্মিনালে, examples ডিরেক্টরিতে থাকা generate_user_credentials.pl উদাহরণটি চালান। আপনি চালানোর আগে উদাহরণটিতে থাকা INSERT_XXX_HERE মানগুলি পরিবর্তন করতে পারেন অথবা ক্লায়েন্ট আইডির জন্য -client_id এবং ক্লায়েন্ট সিক্রেটের জন্য -client_secret কমান্ড-লাইন আর্গুমেন্ট ব্যবহার করতে পারেন।

    perl generate_user_credentials.pl -client_id {client_id} -client_secret {client_secret}
    
  2. এই কোড উদাহরণটি আপনাকে একটি URL-এ যেতে অনুরোধ করে, যেখানে আপনাকে অবশ্যই অ্যাপটিকে আপনার পক্ষ থেকে আপনার Google Ads অ্যাকাউন্ট অ্যাক্সেস করার অনুমোদন দিতে হবে।

    Paste this url in your browser:
    https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline&client_id=...
    

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

    OAuth 2.0 সম্মতি স্ক্রিন

    আপনাকে এমন একটি পৃষ্ঠায় পুনঃনির্দেশিত করা হবে যেখানে অনুমোদন সফল হওয়ার বার্তা থাকবে।

    Authorization code was successfully retrieved.
    
  3. যে কনসোলে আপনি কোড উদাহরণটি চালাচ্ছেন সেখানে ফিরে যান। আপনি দেখতে পাবেন যে কোড উদাহরণটি সম্পন্ন হয়েছে এবং আপনার রিফ্রেশ টোকেন ও কিছু নির্দেশাবলী প্রদর্শন করছে, যার পরে ক্লায়েন্ট লাইব্রেরি কনফিগার করার জন্য আপনাকে যে নির্দেশাবলী অনুসরণ করতে হবে তা দেখানো হবে:

    Replace the following keys and values in your googleads.properties configuration file:
    
    clientId==***********************apps.googleusercontent.com
    clientSecret=****
    refreshToken=****
    
  4. প্রসেসটি বন্ধ করতে Ctrl + C চাপুন। এরপর, তৈরি হওয়া রিফ্রেশ টোকেনটি ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেটের সাথে কপি করে আপনার googleads.properties ফাইলে পেস্ট করুন অথবা অন্য কোথাও সংরক্ষণ করুন, যাতে রানটাইমে লাইব্রেরিটি ইনস্ট্যানশিয়েট করার সময় এটি ব্যবহার করা যায়।

ব্যবহারকারীর OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে googleads.properties ফাইলে নিম্নলিখিত বিষয়গুলো সেট করার মাধ্যমে লাইব্রেরিটি চালু করা যেতে পারে:

clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
developerToken=DEVELOPER_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID

বিকল্পভাবে, পরিবেশগত ভেরিয়েবল ব্যবহার করুন:

export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_DEVELOPER_TOKEN=DEVELOPER_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID

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

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

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

পার্লের ক্ষেত্রে, আপনাকে সাধারণত এমন একটি ওয়েব অ্যাপ্লিকেশন ফ্লো ইমপ্লিমেন্ট করতে হবে যেখানে আপনার অ্যাপ্লিকেশনটি OAuth 2.0 রিডাইরেকশন এবং টোকেন ম্যানেজমেন্টের কাজ সামলাবে। ব্যবহারকারী আপনার অ্যাপ্লিকেশনের মাধ্যমে অথেন্টিকেট করেন, এবং আপনার অ্যাপ্লিকেশনটি ব্যবহারকারীর রিফ্রেশ টোকেন সংরক্ষণ করে ও ব্যবহার করে তার পক্ষ থেকে এপিআই (API) কল করে।

প্রাপ্ত ক্রেডেনশিয়ালগুলি ব্যবহার করার কনফিগারেশনটি একক-ব্যবহারকারী প্রমাণীকরণ প্রবাহের মতোই:

clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
developerToken=DEVELOPER_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID

বিকল্পভাবে, এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন:

export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_DEVELOPER_TOKEN=DEVELOPER_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID

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

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

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

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