अनुरोध करने से जुड़ी गड़बड़ियां
Classroom API की गड़बड़ी में एक गड़बड़ी कोड हो सकता है. इससे आपको गड़बड़ी की वजह का पता लगाने और उसे ठीक से ठीक करने में मदद मिलती है. कोड के हिसाब से, फिर से अनुरोध किया जा सकता है या उपयोगकर्ताओं को कुछ कार्रवाई करने के लिए कहा जा सकता है.
इस पेज पर एचटीटीपी कोड के हिसाब से ग्रुप किए गए, संभावित गड़बड़ी कोड की जानकारी दी गई है. गड़बड़ी के मैसेज के स्ट्रक्चर के बारे में ज़्यादा जानने के लिए, गड़बड़ी के मैसेज का स्ट्रक्चर सेक्शन देखें.
इस पेज पर एचटीटीपी कोड के हिसाब से ग्रुप किए गए, संभावित गड़बड़ी कोड की जानकारी दी गई है. यह तय करने के लिए संदर्भ दस्तावेज़ देखें कि किस तरीके से कोई खास गड़बड़ी कोड मिलता है.
एचटीटीपी 400: FAILED_PRECONDITION
जब उपयोगकर्ता कोई ऐसी कार्रवाई करने की कोशिश करता है जिसे अनुमति नहीं दी जा सकती, तब FAILED_PRECONDITION
नतीजा दिखता है. इसकी वजह यह हो सकती है कि उपयोगकर्ता ने सीमा को पूरा किया हो या ऐप्लिकेशन की स्थिति, जैसे कि CourseNotModifiable
. FAILED_PRECONDITION
को ठीक करने के लिए, उपयोगकर्ता को कुछ कार्रवाई करने का निर्देश दें और फिर से कोशिश करें. इसके अलावा, कुछ मामलों में उपयोगकर्ता की ओर से स्थिति को ठीक करने के लिए, वैकल्पिक एंडपॉइंट का इस्तेमाल किया जा सकता है.
PendingInvitationExists
PendingInvitationExists
से पता चलता है कि किसी व्यक्ति को कोर्स का मालिकाना हक पाने के लिए पहले ही न्योता दिया जा चुका है. यह गड़बड़ी, कोर्स का मालिकाना हक ट्रांसफ़र करने के दौरान होती है. ऐसा तब होता है, जब ट्रांसफ़र की प्रक्रिया पहले शुरू हुई थी, लेकिन अब तक नए मालिक ने उसे स्वीकार नहीं किया है.
CourseMemberLimitReached
CourseMemberLimitReached
से पता चलता है कि अगर आपने कार्रवाई करने की कोशिश की, तो कोर्स में शामिल सदस्यों की संख्या तय सीमा से ज़्यादा हो जाएगी. यह कोड आम तौर पर students.create()
के ज़रिए मिलता है. ज़्यादा जानकारी के लिए, सहायता केंद्र के छात्र-छात्राओं को कक्षा में शामिल होने का न्योता दें लेख में दिया गया "क्लास साइज़ की सीमा" सेक्शन देखें.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं और उपयोगकर्ताओं को कोर्स के गैर-ज़रूरी सदस्यों को हटाने का सुझाव दें
CourseNotModifiable
CourseNotModifiable
बताता है कि प्रासंगिक कोर्स ऐसी स्थिति में है जिसमें उसकी प्रॉपर्टी में बदलाव करने की अनुमति नहीं है (कोर्स की स्थिति के अलावा).
संभावित कार्रवाई: उपयोगकर्ता को बताएं कि कोर्स को कोर्स की स्थिति में बदला जा सकता है. स्थिति बदलने के लिए, courses.patch()
का इस्तेमाल करें. अन्य प्रॉपर्टी में बदलाव करने के अनुरोध में, कोर्स की स्थिति को बदला जा सकता है.
CourseTeacherLimitReached
CourseTeacherLimitReached
से पता चलता है कि अनुरोध की गई कार्रवाई, कोर्स के शिक्षकों की तय संख्या से ज़्यादा होगी. आम तौर पर, यह कोड teachers.create()
से मिलता है. ज़्यादा जानकारी के लिए, सहायता केंद्र के किसी सह-शिक्षक को कक्षा में जोड़ना लेख में, "क्लास के साइज़ की सीमाएं" सेक्शन देखें.
संभावित कार्रवाई: विफलता के कारण का वर्णन करें और उपयोगकर्ता को गैर-ज़रूरी पाठ्यक्रम शिक्षकों को निकालने का सुझाव दें. अगर आपके ऐप्लिकेशन पर लागू हो, तो उपयोगकर्ता की ओर से शिक्षकों की नामावली को मैनेज करने के लिए, teachers.delete() का इस्तेमाल कर सकते हैं.
UserGroupsMembershipLimitReached
UserGroupsMembershipLimitReached
से पता चलता है कि उपयोगकर्ता पहले से ही उतने ग्रुप का सदस्य है जितने की अनुमति है. साथ ही, वह किसी भी कोर्स में शामिल नहीं हो सकता. आम तौर पर, यह कोड students.create()
या teachers.create()
से मिलता है. ज़्यादा जानकारी के लिए, सहायता केंद्र में दिए गए छात्र-छात्राओं को कक्षा में शामिल होने का न्योता दें लेख में मौजूद "क्लास के साइज़ की सीमाएं" सेक्शन देखें.
संभावित कार्रवाई: सफल न होने की वजह बताएं और उपयोगकर्ता को ऐसे कोर्स छोड़ने का सुझाव दें जिनमें वह हिस्सा नहीं ले रहा है. अगर उपयोगकर्ता को ज़्यादा कोर्स में हिस्सा लेना है, तो वह एक अतिरिक्त खाता बनाने के बारे में सोच सकता है. अगर आपके ऐप्लिकेशन पर लागू होता हो, तो उपयोगकर्ता की ओर से रोस्टर मैनेज करने के लिए students.create()
या teachers.delete()
का इस्तेमाल किया जा सकता है.
AttachmentNotVisible
AttachmentNotVisible
बताता है कि दिए गए एक या उससे ज़्यादा अटैचमेंट या तो उपयोगकर्ता को नहीं दिखते, अनुरोध किए गए टाइप के नहीं हैं या मौजूद नहीं हैं. उदाहरण के लिए, Drive में मौजूद जिन आइटम को उपयोगकर्ता के साथ शेयर नहीं किया गया है वे यह गड़बड़ी दिखाएंगे.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं और सुझाव दें कि उपयोगकर्ता, आइडेंटिफ़ायर की फिर से जांच करें. जैसे, Drive के फ़ाइल आईडी. साथ ही, यह भी पक्का करें कि उपयोगकर्ता के पास अटैचमेंट देखने के लिए ज़रूरी अनुमतियां हों.
CannotRemoveCourseFolderOwner
CannotRemoveCourseFolderOwner
बताता है कि कोर्स के Drive फ़ोल्डर के मालिक को शायद हटाया न जा सके.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं. साथ ही, उपयोगकर्ता को कोर्स Drive फ़ोल्डर का मालिकाना हक किसी दूसरे उपयोगकर्ता को ट्रांसफ़र करने के लिए कहें और फिर से कोशिश करें.
CannotRemoveCourseOwner
CannotRemoveCourseOwner
बताता है कि शायद कोर्स के मालिक को हटाया नहीं जा सकता.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं और सुझाव दें कि कोर्स के मालिक को शायद न हटाया जाए. ज़्यादातर मामलों में, उपयोगकर्ता खुद को हटाने की कोशिश करता है, जिसकी अनुमति नहीं है.
CannotRemoveCourseOwnerTransferIncomplete
CannotRemoveCourseOwnerTransferIncomplete
बताता है कि कोर्स के मालिक को शायद हटाया नहीं जा सकता, क्योंकि इस क्लास का मालिकाना हक अब भी ट्रांसफ़र किया जा रहा है.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं और सुझाव दें कि उपयोगकर्ता को क्लास का मालिकाना हक ट्रांसफ़र करने की एसिंक्रोनस कार्रवाई तक कुछ देर इंतज़ार करने के लिए कहें. इसके बाद, फिर से कोशिश करें.
CannotRemoveTeacherWithNoCourseOwner
CannotRemoveTeacherWithNoCourseOwner
बताता है कि शिक्षक को बिना मालिक वाले कोर्स से नहीं हटाया जा सकता.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं और सुझाव दें कि शिक्षक को हटाया नहीं जा सकता. ज़्यादातर मामलों में, कोर्स के मालिक का उपयोगकर्ता खाता मिटा दिया जाता है. इस वजह से, कोर्स की स्थिति अमान्य हो जाती है.
InactiveCourseOwner
InactiveCourseOwner
से पता चलता है कि अनुरोध की गई कार्रवाई की अनुमति नहीं है, क्योंकि कोर्स के मालिक का खाता मिटा दिया गया है. अनुरोध की गई कार्रवाई करने से पहले, कोर्स के मालिक के एडमिन को उसका खाता वापस लाना होगा.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं. साथ ही, कार्रवाई की फिर से कोशिश करने से पहले एडमिन को कोर्स के मालिक का खाता पहले जैसा करने का सुझाव दें.
IneligibleOwner
IneligibleOwner
बताता है कि उपयोगकर्ता को कोर्स के मालिक के तौर पर नहीं जोड़ा जा सकता, क्योंकि वह सह-शिक्षक नहीं है.
संभावित कार्रवाई: विफलता के कारण का वर्णन करें. अगर अनुरोध करने वाला उपयोगकर्ता, एडमिन नहीं है, तो सुझाव दें कि मालिक को अपडेट करने से पहले, वह उपयोगकर्ता को कोर्स में शिक्षक बनने का न्योता भेजे. अगर अनुरोध करने वाला उपयोगकर्ता, एडमिन है, तो उसे पहले उपयोगकर्ता को कोर्स के सह-शिक्षक के तौर पर जोड़ने का सुझाव दें.
UserCannotOwnCourse
UserCannotOwnCourse
बताता है कि उपयोगकर्ता को कोर्स के मालिक के रूप में नहीं जोड़ा जा सकता.
संभावित कार्रवाई: असफलता की वजह बताएं और सुझाव दें कि कोर्स के मालिक के रूप में उपयोगकर्ता के साथ कोर्स नहीं बनाया जा सकता. बिना एडमिन अनुरोध करने वाले उपयोगकर्ता को यह गड़बड़ी तब दिख सकती है, जब वह मालिक के बजाय किसी दूसरे उपयोगकर्ता के साथ कोर्स बनाने की कोशिश करता है. उपयोगकर्ता से अनुरोध करने वाले एडमिन को यह गड़बड़ी तब दिख सकती है, जब मालिक के तौर पर बताया गया उपयोगकर्ता खाता मौजूद न हो या उपयोगकर्ता उनके डोमेन में न हो.
एचटीटीपी 429: RESOURCE_EXHAUSTED
अनुरोध की गई कार्रवाई की अनुमति न होने पर, RESOURCE_EXHAUSTED
दिखाया जाता है. ऐसा तब होता है, जब कोटा या सर्वर की क्षमता जैसे कुछ संसाधन खत्म हो जाते हैं. आम तौर पर, अनुरोध करने से जुड़ी इस तरह की गड़बड़ियां तब होती हैं, जब आपके ऐप्लिकेशन का लोड बहुत ज़्यादा हो.
इन सीमाओं को ट्रिगर करने से बचने और अपने ऐप्लिकेशन को ज़्यादा भरोसेमंद बनाने के लिए, फिर से कोशिश करें. फिर से कोशिश करने के मान्य तरीकों में ये शामिल हैं:
अनुरोध को फिर से कोशिश करने और एक साथ काम करने वाले एनवायरमेंट में अनुरोधों की क्षमता बढ़ाने के लिए, काट-छांट किए गए एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करें.
टकराव से बचने के लिए, जिटर के साथ काट-छांट किए गए एक्सपोनेन्शियल बैकऑफ़ पर विचार करें. पेश है सिग्नल में गड़बड़ी है. इसकी मदद से, आपके अनुरोधों को जल्दी पूरा किया जा सकता है. इसके लिए, अलग-अलग समय पर अनुरोध करने की सुविधा मिलती है, जिससे अनुरोधों की संख्या में बढ़ोतरी होती है.
अगर कोटा की सीमाओं की वजह से आपके आवेदन में RESOURCE_EXHAUSTED
गड़बड़ियां मिलती हैं, तो कोटा बढ़ाने की प्रोसेस सबमिट करें. ज़्यादा जानकारी के लिए, सहायता केंद्र में एपीआई कोटा को मॉनिटर करना लेख पढ़ें.
UserCourseJoinRateLimitReached
UserCourseJoinRateLimitReached
से पता चलता है कि उपयोगकर्ता एक दिन में तय किए गए कोर्स की संख्या पहले ही पूरा कर चुका है. ज़्यादा जानकारी के लिए, सहायता केंद्र के ग्रुप की नीतियों और सीमाओं को समझना लेख में, "ग्रुप न्योते और साइज़" सेक्शन देखें.
संभावित कार्रवाई: गड़बड़ी की वजह बताएं और सुझाव दें कि कोर्स में शामिल होने से पहले उपयोगकर्ता को एक दिन इंतज़ार करना चाहिए.
एचटीटीपी 500: INTERNAL
INTERNAL
बताता है कि अनुरोध को प्रोसेस करते समय अचानक कोई गड़बड़ी हुई. अनुरोध की फिर से कोशिश करने के लिए, एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करके INTERNAL
अनुरोध की गड़बड़ियों को भी अक्सर हल किया जा सकता है. अगर INTERNAL
गड़बड़ी बनी रहती है, तो Classroom API के सार्वजनिक समस्या को ट्रैक करने वाले टूल पर गड़बड़ी की शिकायत करके, इसकी शिकायत की जा सकती है.