বিভিন্ন স্তরে ত্রুটি ঘটতে পারে। যেখানে ত্রুটি ঘটে তার উপর নির্ভর করে আপনি বিভিন্ন উপায়ে বিজ্ঞপ্তি পেতে পারেন।
প্রয়োজনীয় OAuth প্যারামিটার অনুপস্থিত
আপনি যদি প্রয়োজনীয় OAuth প্যারামিটার সেট করতে ভুলে যান, যেমন client_id বা স্কোপ, আপনি আপনার ব্রাউজারের JavaScript কনসোলে নীচের মত একটি ত্রুটি বার্তা দেখতে পাবেন।
OAuth কনফিগারেশন ত্রুটি ঠিক করুন
কিছু ত্রুটি সমাধানের জন্য Google APIs কনসোলে পরিবর্তনের প্রয়োজন হতে পারে।
- এখনও না হলে একটি ক্লায়েন্ট আইডি তৈরি করে ।
- পপআপ UX-এর জন্য, সমস্ত ডোমেন যোগ করুন যা
Authorized JavaScript origins
বর্তমান প্রবাহকে ট্রিগার করতে পারে। - UX পুনঃনির্দেশের জন্য,
Authorized redirect URIs
তে অনুমোদনের প্রতিক্রিয়া পেতে পারে এমন সমস্ত URL যোগ করুন। - আপনার OAuth সম্মতি স্ক্রীন সঠিকভাবে কনফিগার করুন ।
- প্রয়োজনে যাচাইয়ের জন্য আপনার অ্যাপ জমা দিন ।
- Google এর OAuth 2.0 নীতিগুলি মেনে চলার জন্য আপনাকে অতিরিক্ত পদক্ষেপ নিতে হতে পারে৷
অবৈধ OAuth প্যারামিটার মান
আপনি যদি অবৈধ মানগুলি OAuth প্যারামিটারে সেট করেন, যেমন অবৈধ ক্লায়েন্ট আইডি , স্কোপ শনাক্তকারী বা প্রতিক্রিয়া প্রকারের মান, আপনি OAuth ত্রুটি পৃষ্ঠাটি দেখতে পাবেন৷
OAuth ত্রুটির প্রতিক্রিয়া
OAuth একটি ত্রুটি প্রতিক্রিয়া ফেরত দিতে পারে, এই ক্ষেত্রে আপনার callback
ফাংশন প্যারামিটার হিসাবে ত্রুটি প্রতিক্রিয়া সহ ট্রিগার হবে৷ নিম্নলিখিত একটি উদাহরণ OAuth ত্রুটি প্রতিক্রিয়া.
{ "error":"access_denied" }
কিছু উদাহরণ নীচে তালিকাভুক্ত করা হয়.
- ব্যবহারকারী OAuth অনুরোধ অস্বীকার করে।
-
prompt=none
প্যারামিটার সহ একটি OAuth অনুরোধের জন্য, ব্যবহারকারী ইতিমধ্যেই প্রমাণীকৃত নয় এবং অনুরোধ করা স্কোপের জন্য পূর্ব-কনফিগার করা সম্মতি নেই।
নীচের উদাহরণটি দেখায় কিভাবে সফলতা এবং ত্রুটি OAuth প্রতিক্রিয়াগুলি পরিচালনা করতে হয়৷
function myCallback(response) {
if (response.error) {
// Handle error response
... ...
} else if (response.code) {
// Handle success code response
... ...
}
}
নন-OAuth ত্রুটি৷
OAuth আচরণগুলি সংজ্ঞায়িত করে না যখন:
- পপআপ উইন্ডো খুলতে ব্যর্থ হয়।
- একটি OAuth প্রতিক্রিয়া ফিরে আসার আগে পপআপ উইন্ডোটি বন্ধ হয়ে যায়।
এই লাইব্রেরি এই ত্রুটিগুলি ক্যাপচার করে এবং সেট করা থাকলে error_callback
ট্রিগার করে৷ নীচের মত ত্রুটি টাইপ চেক করতে ভুলবেন না. অন্যথায়, আপনার কোড লজিক প্রভাবিত হতে পারে যখন এই লাইব্রেরিটি পরবর্তীতে নতুন ত্রুটির ধরন সমর্থন করে।
function myErrorCallback(err) {
if (err.type == 'popup_failed_to_open') {
// The popup window is failed to open
... ...
} else if (err.type == 'popup_closed') {
// The popup window is closed before an OAuth response is returned
... ...
}
}
const client = google.accounts.oauth2.initCodeClient({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
scope: 'https://www.googleapis.com/auth/calendar.readonly',
ux_mode: 'popup',
callback: myCallback,
error_callback: myErrorCallback
});