गड़बड़ियां ठीक करना

गड़बड़ियां अलग-अलग लेयर में हो सकती हैं. गड़बड़ी होने की जगह के आधार पर, आपको अलग-अलग तरीकों से सूचना मिल सकती है.

ज़रूरी OAuth पैरामीटर मौजूद नहीं हैं

अगर आपने OAuth के ज़रूरी पैरामीटर, जैसे कि क्लाइंट आईडी या स्कोप सेट करना भूल दिया है, तो आपको अपने ब्राउज़र के JavaScript कंसोल में इस तरह का गड़बड़ी वाला मैसेज दिखेगा.

JavaScript कंसोल से जुड़ी गड़बड़ियां

OAuth कॉन्फ़िगरेशन से जुड़ी गड़बड़ियां ठीक करना

कुछ गड़बड़ियों को ठीक करने के लिए, Google API कंसोल में बदलाव करना पड़ सकता है.

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
});