এই ডকুমেন্টটি বর্ণনা করে যে কীভাবে একটি অ্যাপ্লিকেশন ট্যাগ ম্যানেজার API-তে অনুরোধ করার জন্য অনুমোদন পেতে পারে।
অনুরোধ অনুমোদন
ব্যবহারকারীরা যেকোনো গুগল সাইটে তাদের অ্যাকাউন্টের তথ্য দেখার আগে, তাদের প্রথমে একটি গুগল অ্যাকাউন্ট দিয়ে লগ ইন করতে হবে। একইভাবে, যখন ব্যবহারকারীরা প্রথমবার আপনার অ্যাপ্লিকেশন অ্যাক্সেস করেন, তখন তাদের ডেটা অ্যাক্সেস করার জন্য আপনার অ্যাপ্লিকেশনটিকে অনুমোদন করতে হবে।
ট্যাগ ম্যানেজার API-তে আপনার আবেদন পাঠানো প্রতিটি অনুরোধে একটি অনুমোদন টোকেন অন্তর্ভুক্ত থাকতে হবে। টোকেনটি Google-এর কাছে আপনার আবেদনকেও শনাক্ত করে।
অনুমোদন প্রোটোকল সম্পর্কে
অনুরোধ অনুমোদনের জন্য আপনার অ্যাপ্লিকেশনকে OAuth 2.0 ব্যবহার করতে হবে। অন্য কোনও অনুমোদন প্রোটোকল সমর্থিত নয়। যদি আপনার অ্যাপ্লিকেশনটি Sign In With Google ব্যবহার করে, তাহলে অনুমোদনের কিছু দিক আপনার জন্য পরিচালনা করা হবে।
OAuth 2.0 ব্যবহার করে অনুরোধ অনুমোদন করা
ট্যাগ ম্যানেজার এপিআই-তে করা সমস্ত অনুরোধ অবশ্যই একজন অনুমোদিত ব্যবহারকারী দ্বারা অনুমোদিত হতে হবে।
OAuth 2.0 এর জন্য অনুমোদন প্রক্রিয়া, অথবা "প্রবাহ" এর বিশদ বিবরণ আপনি কোন ধরণের অ্যাপ্লিকেশন লিখছেন তার উপর নির্ভর করে কিছুটা পরিবর্তিত হয়। নিম্নলিখিত সাধারণ প্রক্রিয়াটি সমস্ত ধরণের অ্যাপ্লিকেশনের ক্ষেত্রে প্রযোজ্য:
- যখন আপনি আপনার অ্যাপ্লিকেশন তৈরি করেন, তখন আপনি Google API Console ব্যবহার করে এটি নিবন্ধন করেন। এরপর Google আপনার পরে প্রয়োজনীয় তথ্য প্রদান করে, যেমন একটি ক্লায়েন্ট আইডি এবং একটি ক্লায়েন্ট সিক্রেট।
- গুগল এপিআই কনসোলে ট্যাগ ম্যানেজার এপিআই সক্রিয় করুন। (যদি এপিআই কনসোলে তালিকাভুক্ত না থাকে, তাহলে এই ধাপটি এড়িয়ে যান।)
- যখন আপনার অ্যাপ্লিকেশনটি ব্যবহারকারীর ডেটা অ্যাক্সেসের প্রয়োজন হয়, তখন এটি গুগলের কাছে একটি নির্দিষ্ট অ্যাক্সেসের সুযোগের জন্য অনুরোধ করে।
- গুগল ব্যবহারকারীকে একটি সম্মতি স্ক্রিন প্রদর্শন করে, যাতে তাদের কিছু ডেটা অনুরোধ করার জন্য আপনার আবেদনটি অনুমোদন করতে বলা হয়।
- যদি ব্যবহারকারী অনুমোদন করেন, তাহলে গুগল আপনার অ্যাপ্লিকেশনটিকে একটি স্বল্পস্থায়ী অ্যাক্সেস টোকেন দেয়।
- আপনার অ্যাপ্লিকেশনটি ব্যবহারকারীর ডেটা অনুরোধ করে, অনুরোধের সাথে অ্যাক্সেস টোকেন সংযুক্ত করে।
- যদি Google নির্ধারণ করে যে আপনার অনুরোধ এবং টোকেনটি বৈধ, তাহলে এটি অনুরোধ করা ডেটা ফেরত দেয়।
কিছু প্রবাহে অতিরিক্ত পদক্ষেপ অন্তর্ভুক্ত থাকে, যেমন নতুন অ্যাক্সেস টোকেন অর্জনের জন্য রিফ্রেশ টোকেন ব্যবহার করা। বিভিন্ন ধরণের অ্যাপ্লিকেশনের প্রবাহ সম্পর্কে বিস্তারিত তথ্যের জন্য, Google এর OAuth 2.0 ডকুমেন্টেশন দেখুন।
ট্যাগ ম্যানেজার API-এর জন্য OAuth 2.0 স্কোপ তথ্য এখানে দেওয়া হল:
| ব্যাপ্তি | অর্থ |
|---|---|
https://www.googleapis.com/auth/tagmanager.readonly | আপনার Google ট্যাগ ম্যানেজার কন্টেইনারগুলি দেখুন। |
https://www.googleapis.com/auth/tagmanager.edit.containers | আপনার Google ট্যাগ ম্যানেজার কন্টেইনারগুলি পরিচালনা করুন। |
https://www.googleapis.com/auth/tagmanager.delete.containers | আপনার Google ট্যাগ ম্যানেজার কন্টেইনারগুলি মুছুন। |
https://www.googleapis.com/auth/tagmanager.edit.containerversions | আপনার Google ট্যাগ ম্যানেজার কন্টেইনার সংস্করণগুলি পরিচালনা করুন। |
https://www.googleapis.com/auth/tagmanager.publish | আপনার Google ট্যাগ ম্যানেজার কন্টেইনার প্রকাশ করুন। |
https://www.googleapis.com/auth/tagmanager.manage.users | আপনার Google ট্যাগ ম্যানেজার ডেটার ব্যবহারকারীর অনুমতি পরিচালনা করুন। |
https://www.googleapis.com/auth/tagmanager.manage.accounts | আপনার Google ট্যাগ ম্যানেজার অ্যাকাউন্টগুলি পরিচালনা করুন। |
OAuth 2.0 ব্যবহার করে অ্যাক্সেসের অনুরোধ করার জন্য, আপনার অ্যাপ্লিকেশনটির স্কোপ তথ্যের পাশাপাশি আপনার অ্যাপ্লিকেশন নিবন্ধনের সময় Google দ্বারা সরবরাহ করা তথ্য (যেমন ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট) প্রয়োজন।
শুরু করা
ট্যাগ ম্যানেজার API ব্যবহার শুরু করার জন্য, আপনাকে প্রথমে সেটআপ টুলটি ব্যবহার করতে হবে, যা আপনাকে Google API কনসোলে একটি প্রকল্প তৈরি করতে এবং API সক্ষম করতে সহায়তা করে।
একটি নতুন পরিষেবা অ্যাকাউন্ট সেট আপ করতে, নিম্নলিখিতগুলি করুন:
- ক্রেডেনশিয়াল তৈরি করুন > পরিষেবা অ্যাকাউন্ট কী ক্লিক করুন।
- পরিষেবা অ্যাকাউন্টের পাবলিক/প্রাইভেট কী একটি স্ট্যান্ডার্ড P12 ফাইল হিসেবে ডাউনলোড করবেন, নাকি একটি JSON ফাইল হিসেবে ডাউনলোড করবেন যা একটি Google API ক্লায়েন্ট লাইব্রেরি দ্বারা লোড করা যেতে পারে তা বেছে নিন।
আপনার নতুন পাবলিক/প্রাইভেট কী জোড়া তৈরি করা হয় এবং আপনার মেশিনে ডাউনলোড করা হয়; এটি এই কী-এর একমাত্র কপি হিসেবে কাজ করে। এটি নিরাপদে সংরক্ষণের জন্য আপনার দায়িত্ব।
সাধারণ OAuth 2.0 প্রবাহ
নিম্নলিখিত নির্দেশিকাগুলি নির্দিষ্ট OAuth 2.0 প্রবাহের জন্য সাধারণ ব্যবহারের ক্ষেত্রে রূপরেখা দেয়:
ওয়েব সার্ভার
এই প্রবাহটি ব্যবহারকারীর Google ট্যাগ ম্যানেজার অ্যাকাউন্টের স্বয়ংক্রিয়/অফলাইন/নির্ধারিত অ্যাক্সেসের জন্য ভালো।
- সার্ভার থেকে স্বয়ংক্রিয়ভাবে ট্যাগ ম্যানেজার তথ্য আপডেট করা হচ্ছে।
ক্লায়েন্ট-সাইড
ব্যবহারকারীরা যখন ব্রাউজারের মধ্যে তাদের Google ট্যাগ ম্যানেজার অ্যাকাউন্ট অ্যাক্সেস করার জন্য অ্যাপ্লিকেশনের সাথে সরাসরি যোগাযোগ করে তখন এটি আদর্শ। এই প্রবাহ সার্ভার-সাইড ক্ষমতার প্রয়োজনীয়তা দূর করে, তবে এটি স্বয়ংক্রিয়/অফলাইন/নির্ধারিত প্রতিবেদনের জন্য এটিকে অবাস্তব করে তোলে।
- একটি কাস্টমাইজড ব্রাউজার ভিত্তিক কনফিগারেশন টুল।
ইনস্টল করা অ্যাপস
ব্যবহারকারীর দ্বারা প্যাকেজ হিসেবে বিতরণ করা এবং ইনস্টল করা অ্যাপ্লিকেশনগুলির জন্য। প্রমাণীকরণ প্রবাহ সম্পূর্ণ করার জন্য অ্যাপ্লিকেশন বা ব্যবহারকারীর একটি ব্রাউজারে অ্যাক্সেস থাকা প্রয়োজন।
- পিসি বা ম্যাকে একটি ডেস্কটপ উইজেট।
- কন্টেন্ট ম্যানেজমেন্ট সিস্টেমের জন্য একটি প্লাগইন। ওয়েব সার্ভার বা ক্লায়েন্ট-সাইডের তুলনায় এই প্রবাহের সুবিধা হল যে আপনার অ্যাপ্লিকেশনের জন্য একটি একক API কনসোল প্রকল্প ব্যবহার করা যেতে পারে। এটি ব্যবহারকারীদের জন্য একটি সহজ ইনস্টলেশনের সুযোগ করে দেয়।
পরিষেবা অ্যাকাউন্ট
আপনার নিজস্ব গুগল ট্যাগ ম্যানেজার অ্যাকাউন্ট স্বয়ংক্রিয়/অফলাইন/নির্ধারিত অ্যাক্সেসের জন্য কার্যকর। উদাহরণস্বরূপ, আপনার নিজস্ব গুগল ট্যাগ ম্যানেজার অ্যাকাউন্ট নিরীক্ষণ করার জন্য একটি কাস্টম টুল তৈরি করা এবং এটি অন্যান্য ব্যবহারকারীদের সাথে ভাগ করে নেওয়া।
সমস্যা সমাধান
যদি আপনার access_token মেয়াদ শেষ হয়ে যায় অথবা আপনি একটি নির্দিষ্ট API কলের জন্য ভুল স্কোপ ব্যবহার করেন, তাহলে আপনি প্রতিক্রিয়ায় একটি 401 স্ট্যাটাস কোড পাবেন।
যদি অনুমোদিত ব্যবহারকারীর Google ট্যাগ ম্যানেজার অ্যাকাউন্ট বা কন্টেইনারে অ্যাক্সেস না থাকে, তাহলে আপনি প্রতিক্রিয়ায় একটি 403 স্ট্যাটাস কোড পাবেন। নিশ্চিত করুন যে আপনি সঠিক ব্যবহারকারীর সাথে অনুমোদিত এবং আপনাকে ট্যাগ ম্যানেজার অ্যাকাউন্ট বা কন্টেইনার অ্যাক্সেস করার অনুমতি দেওয়া হয়েছে।
OAuth 2.0 খেলার মাঠ
OAuth 2.0 Playground আপনাকে একটি ওয়েব ইন্টারফেসের মাধ্যমে সম্পূর্ণ অনুমোদন প্রবাহের মধ্য দিয়ে যেতে দেয়। এই টুলটি একটি অনুমোদিত ক্যোয়ারী তৈরির জন্য প্রয়োজনীয় সমস্ত HTTP অনুরোধ শিরোনামও প্রদর্শন করে। যদি আপনি আপনার নিজস্ব অ্যাপ্লিকেশনে অনুমোদন না পান, তাহলে আপনার OAuth 2.0 Playground এর মাধ্যমে এটি কাজ করার চেষ্টা করা উচিত। তারপর আপনি খেলার মাঠের HTTP শিরোনাম এবং অনুরোধের তুলনা করতে পারেন যা আপনার অ্যাপ্লিকেশনটি পাঠাচ্ছে। এই চেকটি আপনার অনুরোধগুলি সঠিকভাবে ফর্ম্যাট করছে কিনা তা নিশ্চিত করার একটি সহজ উপায়।
অবৈধ অনুদান
রিফ্রেশ টোকেন ব্যবহার করার সময় যদি আপনি একটি invalid_grant ত্রুটির প্রতিক্রিয়া পান, তাহলে ত্রুটিটি নিম্নলিখিত যেকোনো একটি বা উভয় কারণে হতে পারে:
- আপনার সার্ভারের ঘড়ি NTP এর সাথে সিঙ্ক হচ্ছে না।
- আপনি রিফ্রেশ টোকেনের সীমা অতিক্রম করেছেন।
অ্যাপ্লিকেশনগুলি একটি একক Google ট্যাগ ম্যানেজার অ্যাকাউন্ট অ্যাক্সেস করার জন্য একাধিক রিফ্রেশ টোকেনের অনুরোধ করতে পারে। উদাহরণস্বরূপ, এটি এমন পরিস্থিতিতে কার্যকর যেখানে একজন ব্যবহারকারী একাধিক মেশিনে একটি অ্যাপ্লিকেশন ইনস্টল করতে এবং একই Google ট্যাগ ম্যানেজার অ্যাকাউন্ট অ্যাক্সেস করতে চান। এই ক্ষেত্রে, দুটি রিফ্রেশ টোকেন প্রয়োজন, প্রতিটি ইনস্টলেশনের জন্য একটি। যখন রিফ্রেশ টোকেনের সংখ্যা সীমা অতিক্রম করে, তখন পুরানো টোকেন অবৈধ হয়ে যায়। যদি অ্যাপ্লিকেশনটি একটি অবৈধ রিফ্রেশ টোকেন ব্যবহার করার চেষ্টা করে, তাহলে একটিinvalid_grantত্রুটি প্রতিক্রিয়া ফেরত দেওয়া হয়। প্রতিটি অনন্য ক্লায়েন্ট-আইডি/অ্যাকাউন্ট সংমিশ্রণে সর্বাধিক 25টি রিফ্রেশ টোকেন থাকতে পারে। (মনে রাখবেন যে এই সীমা পরিবর্তন সাপেক্ষে।) যদি অ্যাপ্লিকেশনটি একই ক্লায়েন্ট-আইডি/অ্যাকাউন্ট সংমিশ্রণের জন্য রিফ্রেশ টোকেনের অনুরোধ করতে থাকে, তাহলে 26তম টোকেন জারি করার পরে, ইস্যু করা প্রথম রিফ্রেশ টোকেনটি অবৈধ হয়ে যায়। 27তম অনুরোধ করা রিফ্রেশ টোকেনটি দ্বিতীয় জারি করা টোকেনটিকে অবৈধ করে দেয়, ইত্যাদি।