হ্যান্ডেল ত্রুটি

বিভিন্ন স্তরে ত্রুটি ঘটতে পারে। যেখানে ত্রুটি ঘটে তার উপর নির্ভর করে আপনি বিভিন্ন উপায়ে বিজ্ঞপ্তি পেতে পারেন।

প্রয়োজনীয় OAuth প্যারামিটার অনুপস্থিত

আপনি যদি প্রয়োজনীয় OAuth প্যারামিটার সেট করতে ভুলে যান, যেমন client_id বা স্কোপ, আপনি আপনার ব্রাউজারের JavaScript কনসোলে নীচের মত একটি ত্রুটি বার্তা দেখতে পাবেন।

জাভাস্ক্রিপ্ট কনসোল ত্রুটি

OAuth কনফিগারেশন ত্রুটি ঠিক করুন

কিছু ত্রুটি সমাধানের জন্য Google APIs কনসোলে পরিবর্তনের প্রয়োজন হতে পারে।

অবৈধ OAuth প্যারামিটার মান

আপনি যদি অবৈধ মানগুলি OAuth প্যারামিটারে সেট করেন, যেমন অবৈধ ক্লায়েন্ট আইডি , স্কোপ শনাক্তকারী বা প্রতিক্রিয়া প্রকারের মান, আপনি OAuth ত্রুটি পৃষ্ঠাটি দেখতে পাবেন৷

OAuth ত্রুটি

OAuth ত্রুটির প্রতিক্রিয়া

OAuth একটি ত্রুটি প্রতিক্রিয়া ফেরত দিতে পারে, এই ক্ষেত্রে আপনার callback ফাংশন প্যারামিটার হিসাবে ত্রুটি প্রতিক্রিয়া সহ ট্রিগার হবে৷ নিম্নলিখিত একটি উদাহরণ OAuth ত্রুটি প্রতিক্রিয়া.

  {
    "error":"access_denied"
  }

কিছু উদাহরণ নীচে তালিকাভুক্ত করা হয়.

  1. ব্যবহারকারী OAuth অনুরোধ অস্বীকার করে।
  2. prompt=none প্যারামিটার সহ একটি OAuth অনুরোধের জন্য, ব্যবহারকারী ইতিমধ্যেই প্রমাণীকৃত নয় এবং অনুরোধ করা স্কোপের জন্য পূর্ব-কনফিগার করা সম্মতি নেই।

নীচের উদাহরণটি দেখায় কিভাবে সফলতা এবং ত্রুটি OAuth প্রতিক্রিয়াগুলি পরিচালনা করতে হয়৷

function myCallback(response) {
  if (response.error) {
    // Handle error response
    ... ...
  } else if (response.code) {
    // Handle success code response
    ... ...
  }
}

নন-OAuth ত্রুটি৷

OAuth আচরণগুলি সংজ্ঞায়িত করে না যখন:

  1. পপআপ উইন্ডো খুলতে ব্যর্থ হয়।
  2. একটি 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
});