অন্যান্য Google API-এর মতো, Google Ads API যাচাইকরণ ও অনুমোদনের জন্য OAuth 2.0 প্রোটোকল ব্যবহার করে। OAuth 2.0 আপনার Google Ads API ক্লায়েন্ট অ্যাপকে ব্যবহারকারীর লগ-ইন তথ্য ম্যানেজ বা স্টোর না করেই ব্যবহারকারীর Google Ads অ্যাকাউন্ট অ্যাক্সেস করার সুবিধা দেয়।
Google Ads অ্যাক্সেস মডেল সম্পর্কে বোঝা
Google Ads API-এর সাথে কার্যকরভাবে কাজ করতে, Google Ads অ্যাক্সেস মডেল কীভাবে কাজ করে তা বুঝুন। Google Ads অ্যাক্সেস মডেল গাইড দেখুন।
OAuth ওয়ার্কফ্লো
Google Ads API-এর সাথে কাজ করার সময় তিনটি সাধারণ ওয়ার্কফ্লো ব্যবহার করা হয়।
সার্ভিস অ্যাকাউন্ট ফ্লো
আপনার ওয়ার্কফ্লোতে কোনও হিউম্যান ইন্টার্যাকশনের প্রয়োজন না হলে, এই ওয়ার্কফ্লো সাজেস্ট করা হয়। এই ওয়ার্কফ্লোতে একটি কনফিগারেশন ধাপ প্রয়োজন, যেখানে ব্যবহারকারী তার Google Ads অ্যাকাউন্টে একটি পরিষেবা অ্যাকাউন্ট যোগ করেন। এরপরে, অ্যাপটি ব্যবহারকারীর Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য পরিষেবা অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করতে পারে।
Perl ক্লায়েন্ট লাইব্রেরিতে পরিষেবা অ্যাকাউন্টের সাথে আপনার নিজের ক্রেডেনশিয়াল ব্যবহার করে API অ্যাক্সেসের জন্য OAuth2 কীভাবে সেট-আপ করবেন তা এখানে দেওয়া হল:
OAuth2 ক্রেডেনশিয়াল তৈরি করুন:
পরিষেবা অ্যাকাউন্ট ও JSON কী ফাইল জেনারেট করতে নির্দেশাবলী অনুসরণ করুন।
ক্লায়েন্ট লাইব্রেরি সেট-আপ করুন:
আপনার কনফিগারেশনে ব্যক্তিগত কী JSON পাথ সেট করুন (এবং
impersonatedEmailঐচ্ছিক, যদি Google Workspace ডোমেন-ওয়াইড ডেলিগেশন ব্যবহার করেন)। আপনিgoogleads.propertiesফাইল ব্যবহার করলে, নিম্নলিখিতগুলি যোগ করুন:jsonKeyFilePath=PRIVATE_KEY_FILE_PATH # Optional unless using Google Workspace domain-wide delegation: impersonatedEmail=IMPERSONATED_EMAIL loginCustomerId=LOGIN_CUSTOMER_IDআপনি এনভায়রনমেন্ট ভেরিয়েবেল ব্যবহার করলে, আপনার Bash কনফিগারেশন বা এনভায়রনমেন্টে নিম্নলিখিতগুলি যোগ করুন:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=KEY_FILE_PATH export GOOGLE_ADS_IMPERSONATED_EMAIL=\ IMPERSONATED_EMAIL export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_IDআরও জানতে সার্ভিস অ্যাকাউন্ট ওয়ার্কফ্লো গাইড দেখুন।
সিঙ্গেল-ইউজার যাচাইকরণ ফ্লো
আপনি পরিষেবা অ্যাকাউন্ট ব্যবহার করতে না পারলে এই ওয়ার্কফ্লো ব্যবহার করা যেতে পারে। এই ওয়ার্কফ্লোর জন্য দুটি কনফিগারেশন ধাপ প্রয়োজন:
- Google Ads API ব্যবহার করে ম্যানেজ করা হবে এমন সব অ্যাকাউন্টে একজন ব্যবহারকারীকে অ্যাক্সেস দিন। একটি সাধারণ পদ্ধতি হল ব্যবহারকারীকে Google Ads API ম্যানেজার অ্যাকাউন্টে অ্যাক্সেস দেওয়া এবং সেই ম্যানেজার অ্যাকাউন্টের অধীনে সব Google Ads অ্যাকাউন্ট লিঙ্ক করা।
- ব্যবহারকারী আপনার অ্যাপকে তার হয়ে তার সব Google Ads অ্যাকাউন্ট ম্যানেজ করার অনুমতি দিতে
generate_user_credentials.plকোডের উদাহরণ রান করান।
নিম্নলিখিত ধাপগুলি একটি ইন্টার্যাক্টিভ কোডের উদাহরণ রান করে, যার জন্য আপনাকে ইনপুট দিতে হবে।
টার্মিনালে,
examplesডিরেক্টরিতেgenerate_user_credentials.plউদাহরণ রান করুন। আপনি রান করানোর আগে উদাহরণেরINSERT_XXX_HEREভ্যালু পরিবর্তন করতে পারেন অথবা ক্লায়েন্ট আইডির জন্য কমান্ড-লাইন আর্গুমেন্ট-client_idএবং ক্লায়েন্ট সিক্রেটের জন্য-client_secretব্যবহার করতে পারেন।perl generate_user_credentials.pl \ -client_id OAUTH_CLIENT_ID \ -client_secret OAUTH_CLIENT_SECRETএই কোড উদাহরণ আপনাকে একটি URL-এ যেতে প্রম্পট করে যেখানে আপনাকে অবশ্যই অ্যাপটিকে আপনার হয়ে আপনার Google Ads অ্যাকাউন্ট অ্যাক্সেস করার জন্য অনুমোদন দিতে হবে।
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline...ব্যক্তিগত ব্রাউজার সেশন বা ছদ্মবেশী উইন্ডোতে URL-এ নেভিগেট করুন। Google Ads অ্যাক্সেস করার জন্য আপনি যে Google অ্যাকাউন্ট ব্যবহার করেন সেটি দিয়ে সাইন-ইন করুন। সাধারণত, এটি হল এমন একটি ইমেল অ্যাকাউন্ট যার Google Ads ম্যানেজার অ্যাকাউন্টে অ্যাক্সেস আছে এবং যেখানে আপনার ম্যানেজ করা প্রয়োজন এমন সব অ্যাকাউন্ট এর অ্যাকাউন্ট হায়ারার্কির মধ্যে থাকে। OAuth 2.0 সম্মতি সংক্রান্ত স্ক্রিনে চালিয়ে যান বিকল্পে ক্লিক করুন।

আপনাকে এমন একটি পৃষ্ঠায় রিডাইরেক্ট করা হবে যেখানে একটি মেসেজ থাকবে, যা থেকে বোঝা যাবে যে অনুমোদন সফল হয়েছে।
Authorization code was successfully retrieved.আপনি যে কনসোলে কোডের উদাহরণ চালাচ্ছেন সেখানে ফিরে যান। আপনি দেখতে পাবেন যে কোডের উদাহরণ সম্পূর্ণ হয়েছে এবং আপনার রিফ্রেশ টোকেন ও কিছু নির্দেশাবলী দেখাচ্ছে, এরপরে ক্লায়েন্ট লাইব্রেরি কনফিগার করার জন্য আপনাকে যেসব নির্দেশাবলী অনুসরণ করতে হবে সেগুলি দেওয়া আছে:
Replace the following keys and values in your googleads.properties configuration file: clientId=***********************apps.googleusercontent.com clientSecret=**** refreshToken=****প্রসেসটি বন্ধ করতে
Ctrl + Cপ্রেস করুন। তারপরে, জেনারেট করা রিফ্রেশ টোকেনটি ক্লায়েন্ট আইডি ও ক্লায়েন্ট সিক্রেট সহ আপনারgoogleads.propertiesফাইলে কপি করুন অথবা রানটাইমে লাইব্রেরি ইনস্ট্যানশিয়েট করার সময় ব্যবহার করার জন্য অন্য কোথাও সেভ করুন।
ব্যবহারকারীর OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করে লাইব্রেরি শুরু করা যেতে পারে
googleads.properties-এ নিম্নলিখিতগুলি সেট করে:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_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_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
আরও জানতে সিঙ্গেল-ইউজার যাচাইকরণ ওয়ার্কফ্লো গাইড দেখুন।
একাধিক ব্যবহারকারীর যাচাইকরণ ফ্লো
আপনার অ্যাপ ব্যবহারকারীদের সাইন-ইন করার অনুমতি দিলে এবং তাদের পক্ষ থেকে তাদের Google Ads অ্যাকাউন্ট ম্যানেজ করার জন্য আপনার অ্যাপকে অনুমোদন দিলে এটিই হল সাজেস্ট করা ওয়ার্কফ্লো। আপনার অ্যাপ OAuth 2.0 ব্যবহারকারীর ক্রেডেনশিয়াল তৈরি ও ম্যানেজ করে।
Perl-এর ক্ষেত্রে, আপনি সাধারণত একটি ওয়েব অ্যাপ্লিকেশন ফ্লো প্রয়োগ করবেন যেখানে আপনার অ্যাপ্লিকেশন OAuth 2.0 রিডাইরেকশন ও টোকেন ম্যানেজমেন্ট হ্যান্ডেল করে। ব্যবহারকারী আপনার অ্যাপ্লিকেশনের মাধ্যমে যাচাই করেন এবং আপনার অ্যাপ্লিকেশন ব্যবহারকারীর রিফ্রেশ টোকেন সেভ করে ও তার হয়ে API কল করতে ব্যবহার করে।
প্রাপ্ত ক্রেডেনশিয়াল ব্যবহার করার কনফিগারেশন, সিঙ্গেল-ইউজার যাচাইকরণ ফ্লোয়ের মতোই:
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_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_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
আরও জানতে মাল্টি-ইউজার যাচাইকরণ ওয়ার্কফ্লো গাইড দেখুন।
আমার ব্যবহারকারী একাধিক অ্যাকাউন্ট ম্যানেজ করলে কী হবে?
একজন ব্যবহারকারীর পক্ষে একাধিক Google Ads অ্যাকাউন্ট ম্যানেজ করা সাধারণ ব্যাপার, হয় অ্যাকাউন্টে সরাসরি অ্যাক্সেসের মাধ্যমে, অথবা Google Ads ম্যানেজার অ্যাকাউন্টের মাধ্যমে। Perl ক্লায়েন্ট লাইব্রেরি এমন উদাহরণ প্রদান করে যা এই ধরনের কেস কীভাবে ম্যানেজ করতে হয় তা ব্যাখ্যা করে:
get_account_hierarchy.plউদাহরণে দেখানো হয়েছে কীভাবে Google Ads ম্যানেজার অ্যাকাউন্টের অধীনে থাকা সব অ্যাকাউন্টের তালিকা পাওয়া যায়।list_accessible_customers.plউদাহরণে দেখানো হয়েছে যে ব্যবহারকারীর সরাসরি অ্যাক্সেস আছে এমন সব অ্যাকাউন্টের তালিকা কীভাবে ফেরত পাওয়া যায়। এইসব অ্যাকাউন্টকেgoogleads.propertiesফাইলেloginCustomerIdসেটিং বাGOOGLE_ADS_LOGIN_CUSTOMER_IDএনভায়রনমেন্ট ভেরিয়েবলের জন্য সঠিক ভ্যালু হিসেবে ব্যবহার করা যেতে পারে।