Google Classroom API से जुड़ी गड़बड़ी के सामान्य मैसेज

इस पेज पर, Google Classroom API से जुड़ी गड़बड़ी के कुछ सामान्य मैसेज, समस्याओं, और इन तरह की गड़बड़ियों के लिए की जा सकने वाली कार्रवाइयों के बारे में बताया गया है:

एचटीटीपी 400: FAILED_PRECONDITION

जब उपयोगकर्ता ऐसी कार्रवाई करने की कोशिश करता है जिसकी अनुमति नहीं है, तब FAILED_PRECONDITION दिखाया जाता है. ऐसा इसलिए होता है, क्योंकि उपयोगकर्ता ने CourseNotModifiable जैसी कोई सीमा या ऐप्लिकेशन की स्थिति पूरी कर ली है. FAILED_PRECONDITION को ठीक करने के लिए, उपयोगकर्ता को कोई कार्रवाई करने के लिए कहें और फिर से कोशिश करें. इसके अलावा, कुछ मामलों में उपयोगकर्ता की ओर से स्थिति ठीक करने के लिए, वैकल्पिक एंडपॉइंट का इस्तेमाल किया जा सकता है.

AttachmentNotVisible

AttachmentNotVisible से पता चलता है कि एक या एक से ज़्यादा अटैचमेंट, उपयोगकर्ता को दिख नहीं रहे हैं, अनुरोध किए गए टाइप के नहीं हैं या मौजूद नहीं हैं. उदाहरण के लिए, Drive के ऐसे आइटम जिनका ऐक्सेस उपयोगकर्ता के साथ शेयर नहीं किया गया है, उनसे यह गड़बड़ी दिखेगी.

संभावित कार्रवाई: काम न करने की वजह बताएं और उपयोगकर्ता को सुझाव दें कि वह शामिल किए गए आइडेंटिफ़ायर की फिर से जांच करे. जैसे, Drive फ़ाइल आईडी. साथ ही, यह भी पक्का करें कि उपयोगकर्ता के पास अटैचमेंट देखने की अनुमतियां हों.

CannotRemoveCourseFolderOwner

CannotRemoveCourseFolderOwner से पता चलता है कि कोर्स के Drive फ़ोल्डर के मालिक को हटाया नहीं जा सकता.

संभावित कार्रवाई: कोर्स को इंपोर्ट न हो पाने की वजह बताएं. साथ ही, उपयोगकर्ता को कोर्स के Drive फ़ोल्डर का मालिकाना हक किसी दूसरे उपयोगकर्ता को ट्रांसफ़र करने और फिर से कोशिश करने का सुझाव दें.

CannotRemoveCourseOwner

CannotRemoveCourseOwner से पता चलता है कि कोर्स के मालिक को नहीं हटाया जा सकता.

संभावित कार्रवाई: प्रॉडक्ट हटाए जाने की वजह बताएं और सुझाव दें कि कोर्स के मालिक को हटाया न जाए. ज़्यादातर मामलों में, उपयोगकर्ता खुद को हटाने की कोशिश करता है, जिसकी अनुमति नहीं है.

CannotRemoveCourseOwnerTransferIncomplete

CannotRemoveCourseOwnerTransferIncomplete का मतलब है कि कोर्स के मालिक को हटाया नहीं जा सकता, क्योंकि इस क्लास का मालिकाना हक ट्रांसफ़र करने की प्रोसेस अब भी जारी है.

संभावित कार्रवाई: गड़बड़ी की वजह बताएं और उपयोगकर्ता को सुझाव दें कि वह क्लास का मालिकाना हक ट्रांसफ़र करने की असाइनमेंट के पूरा होने तक कुछ देर इंतज़ार करे. इसके बाद, फिर से कोशिश करें.

CannotRemoveTeacherWithNoCourseOwner

CannotRemoveTeacherWithNoCourseOwner से पता चलता है कि किसी ऐसे कोर्स से शिक्षक को नहीं हटाया जा सकता जिसका मालिकाना हक किसी के पास नहीं है.

संभावित कार्रवाई: अस्वीकार किए जाने की वजह बताएं और सुझाव दें कि शिक्षक को हटाया न जाए. ज़्यादातर मामलों में, कोर्स के मालिक का उपयोगकर्ता खाता मिटा दिया गया था. इस वजह से, कोर्स की स्थिति अमान्य हो गई थी.

CourseMemberLimitReached

CourseMemberLimitReached से पता चलता है कि की जाने वाली कार्रवाई से, कोर्स में शामिल सदस्यों की तय सीमा से ज़्यादा सदस्य जुड़ जाएंगे. आम तौर पर, यह कोड students.create() से दिखाया जाता है. ज़्यादा जानकारी के लिए, छात्र-छात्राओं को क्लास में शामिल होने का न्योता भेजना के सहायता केंद्र लेख में "क्लास में शामिल होने की संख्या की सीमाएं" सेक्शन देखें.

संभावित कार्रवाई: गड़बड़ी की वजह बताएं और उपयोगकर्ता को सुझाव दें कि वह कोर्स में शामिल उन सदस्यों को हटा दें जो ज़रूरी नहीं हैं

CourseNotModifiable

CourseNotModifiable से पता चलता है कि कोर्स की स्थिति ऐसी है कि उसकी प्रॉपर्टी में बदलाव नहीं किया जा सकता. हालांकि, कोर्स की स्थिति में बदलाव किया जा सकता है.

संभावित कार्रवाई: उपयोगकर्ता को कोर्स को बदली जा सकने वाली कोर्स की स्थिति में बदलने के लिए कहें. स्थिति बदलने के लिए, courses.patch() का इस्तेमाल करें. कोर्स की स्थिति को ऐसे अनुरोध में बदला जा सकता है जो अन्य प्रॉपर्टी में बदलाव करता है.

CourseTeacherLimitReached

CourseTeacherLimitReached से पता चलता है कि अनुरोध की गई कार्रवाई से, कोर्स के शिक्षकों की तय सीमा से ज़्यादा शिक्षक जुड़ जाएंगे. आम तौर पर, यह कोड teachers.create() से दिखाया जाता है. ज़्यादा जानकारी के लिए, क्लास में को-टीचर जोड़ें के सहायता केंद्र के लेख में "क्लास में शामिल होने वाले छात्र-छात्राओं की संख्या की सीमाएं" सेक्शन देखें.

संभावित कार्रवाई: गड़बड़ी की वजह बताएं और उपयोगकर्ता को सुझाव दें कि वह कोर्स के लिए ज़रूरत के मुताबिक शिक्षकों को ही जोड़ें. अगर आपके ऐप्लिकेशन पर यह लागू होता है, तो उपयोगकर्ता की ओर से शिक्षकों के रोस्टर मैनेज करने के लिए, teachers.delete() का इस्तेमाल किया जा सकता है.

InactiveCourseOwner

InactiveCourseOwner से पता चलता है कि अनुरोध की गई कार्रवाई की अनुमति नहीं है, क्योंकि कोर्स के मालिक का खाता मिटा दिया गया है. कोर्स के मालिक के एडमिन को, अनुरोध की गई कार्रवाई करने से पहले, कोर्स के मालिक का खाता वापस लाना होगा.

संभावित कार्रवाई: कार्रवाई पूरी न होने की वजह बताएं. साथ ही, एडमिन को सुझाव दें कि वह कार्रवाई फिर से करने से पहले, कोर्स के मालिक का खाता वापस लाए.

IneligibleOwner

IneligibleOwner का मतलब है कि उपयोगकर्ता को कोर्स के मालिक के तौर पर नहीं जोड़ा जा सकता, क्योंकि वह को-टीचर नहीं है.

संभावित कार्रवाई: गड़बड़ी की वजह बताएं. अगर अनुरोध करने वाला उपयोगकर्ता एडमिन नहीं है, तो उसे सुझाएं कि वह मालिकाना हक अपडेट करने से पहले, उपयोगकर्ता को कोर्स में शिक्षक बनने का न्योता भेजे. अगर अनुरोध करने वाला उपयोगकर्ता एडमिन है, तो उसे सुझाएं कि वह उपयोगकर्ता को पहले कोर्स के को-टीचर के तौर पर जोड़ें.

PendingInvitationExists

PendingInvitationExists का मतलब है कि किसी व्यक्ति को कोर्स का मालिकाना हक पाने का न्योता पहले ही भेजा जा चुका है. यह गड़बड़ी, कोर्स का मालिकाना हक ट्रांसफ़र करने के दौरान तब होती है, जब ट्रांसफ़र की प्रोसेस पहले ही शुरू हो गई हो, लेकिन नए मालिक ने अब तक उसे स्वीकार न किया हो.

UserCannotOwnCourse

UserCannotOwnCourse से पता चलता है कि उपयोगकर्ता को कोर्स के मालिक के तौर पर नहीं जोड़ा जा सकता.

संभावित कार्रवाई: गड़बड़ी की वजह बताएं और सुझाव दें कि कोर्स को उपयोगकर्ता के तौर पर, कोर्स के मालिक के तौर पर नहीं बनाया जा सकता. अगर कोई ऐसा उपयोगकर्ता, जिसे एडमिन ऐक्सेस नहीं दिया गया है, कोर्स बनाने के लिए अनुरोध करता है और उसमें खुद के अलावा किसी दूसरे उपयोगकर्ता को मालिक के तौर पर जोड़ने की कोशिश करता है, तो उसे यह गड़बड़ी दिख सकती है. अगर मालिकाना हक वाले उपयोगकर्ता खाते का अस्तित्व नहीं है या वह उपयोगकर्ता, एडमिन के डोमेन में नहीं है, तो अनुरोध करने वाले एडमिन को यह गड़बड़ी दिख सकती है.

UserGroupsMembershipLimitReached

UserGroupsMembershipLimitReached से पता चलता है कि उपयोगकर्ता पहले से ही, ज़्यादा से ज़्यादा ग्रुप का सदस्य है और वह किसी भी कोर्स में शामिल नहीं हो सकता. आम तौर पर, यह कोड students.create() या teachers.create() के तौर पर दिखता है. ज़्यादा जानकारी के लिए, छात्र-छात्राओं को क्लास में शामिल होने का न्योता भेजना के सहायता केंद्र लेख में, "क्लास में शामिल होने की संख्या की सीमाएं" सेक्शन देखें.

संभावित कार्रवाई: असफलता की वजह बताएं और उपयोगकर्ता को उन सभी कोर्स को छोड़ने का सुझाव दें जिनमें वह हिस्सा नहीं ले रहा है. अगर उपयोगकर्ता को ज़्यादा कोर्स में हिस्सा लेना है, तो वह एक और खाता बना सकता है. अगर आपके ऐप्लिकेशन पर लागू होता है, तो उपयोगकर्ता की ओर से रोस्टर मैनेज करने के लिए, students.create() या teachers.delete() का इस्तेमाल किया जा सकता है.

एचटीटीपी 403: PERMISSION_DENIED

अगर कोई असली उपयोगकर्ता, ऐक्सेस की ज़रूरी शर्तें पूरी नहीं करता है, तो Classroom API के सभी तरीके PERMISSION_DENIED (एचटीटीपी 403) वाली गड़बड़ी दिखा सकते हैं. गड़बड़ी के मैसेज में एक गड़बड़ी का मैसेज होता है. इससे आपको गड़बड़ी की वजह का पता लगाने और उपयोगकर्ताओं को सही कार्रवाई करने में मदद मिलती है.

यहां दिए गए सेक्शन में, Classroom API से जुड़ी गड़बड़ी के आम मैसेज के बारे में बताया गया है.

CannotDirectAddUser

CannotDirectAddUser से पता चलता है कि किसी उपयोगकर्ता को सीधे कोर्स में नहीं जोड़ा जा सकता. यह कोड तब दिखता है, जब कोई डोमेन एडमिन किसी उपयोगकर्ता को कोर्स में जोड़ने की कोशिश करता है और उस उपयोगकर्ता के पास कोई ईमेल पता नहीं होता या वह डोमेन का सदस्य नहीं होता.

संभावित कार्रवाई: इस गड़बड़ी की वजह बताएं और डोमेन एडमिन को सुझाव दें कि वह देख लें कि उपयोगकर्ता खाता मौजूद है या नहीं और वह कोर्स एडमिन के डोमेन में है या नहीं.

ClassroomApiDisabled

ClassroomApiDisabled से पता चलता है कि अनुरोध करने वाले उपयोगकर्ता के पास Classroom API का ऐक्सेस नहीं है.

संभावित कार्रवाई: उपयोगकर्ता को Classroom के डेटा को ऐक्सेस करने की सुविधा चालू करने के निर्देशों पर ले जाएं. ClassroomDisabled को भी देखें, क्योंकि हो सकता है कि उपयोगकर्ता गलत खाते का इस्तेमाल कर रहा हो.

ClassroomDisabled

ClassroomDisabled से पता चलता है कि अनुरोध करने वाले उपयोगकर्ता के पास, Classroom का ऐक्सेस नहीं है.

संभावित कार्रवाई: उपयोगकर्ता को Classroom का ऐक्सेस चालू करने के निर्देशों पर ले जाएं. हो सकता है कि उपयोगकर्ता गलत खाते का इस्तेमाल कर रहा हो. इसलिए, एक से ज़्यादा खातों का इस्तेमाल करने का लिंक भी दिया जा सकता है, ताकि उपयोगकर्ता सही खाता चुन सके.

ExpiredAddOnToken

ExpiredAddOnToken से पता चलता है कि एपीआई को कॉल करने के लिए इस्तेमाल किए जा रहे ऐड-ऑन टोकन की समयसीमा खत्म हो गई है.

संभावित कार्रवाई: उपयोगकर्ता को पेज को रीफ़्रेश करने या ऐड-ऑन में फिर से साइन इन करने के लिए कहें, ताकि आप अनुरोध यूआरएल से नया addOnToken क्वेरी पैरामीटर पा सकें.

InvalidAddOnToken

InvalidAddOnToken से पता चलता है कि अनुरोध में पास किए गए ऐड-ऑन टोकन के पास, असाइनमेंट में ऐड-ऑन अटैचमेंट बनाने की अनुमति नहीं है.

संभावित कार्रवाई: यह गड़बड़ी तब दिख सकती है, जब उपयोगकर्ता Classroom में इस्तेमाल किए जा रहे खाते के बजाय, किसी दूसरे खाते से ऐड-ऑन में साइन इन करता है. उपयोगकर्ता को, ब्राउज़र में मौजूद सभी अन्य खातों से साइन आउट करने या गुप्त मोड में Chrome विंडो में Classroom खोलने के लिए कहें.

ProjectPermissionDenied

ProjectPermissionDenied से पता चलता है कि अनुरोध में, किसी दूसरे Developer Console प्रोजेक्ट से जुड़े संसाधन में बदलाव करने की कोशिश की गई है.

संभावित कार्रवाई: बताएं कि आपका ऐप्लिकेशन, ज़रूरी अनुरोध नहीं कर सकता. इसे सिर्फ़ उस OAuth क्लाइंट आईडी के Developer Console प्रोजेक्ट से बनाया जा सकता है जिसने संसाधन बनाया है.

UserIneligibleToUpdateGradingPeriodSettings

UserIneligibleToUpdateGradingPeriodSettings से पता चलता है कि अनुरोध में, किसी ऐसे कोर्स में ग्रेड देने की अवधि की सेटिंग में बदलाव करने की कोशिश की गई है जहां अनुरोध करने वाले उपयोगकर्ता या कोर्स के मालिक के पास, Google Workspace for Education का सही लाइसेंस नहीं है.

संभावित कार्रवाई: बताएं कि आपका ऐप्लिकेशन, ग्रेडिंग की अवधि की सेटिंग अपडेट करने का अनुरोध नहीं कर सकता. ऐसा इसलिए है, क्योंकि अनुरोध करने वाले उपयोगकर्ता या कोर्स के मालिक के लाइसेंस की स्थिति ठीक नहीं है. लाइसेंस, Google Admin console में असाइन किए जा सकते हैं.

एचटीटीपी 429: RESOURCE_EXHAUSTED

RESOURCE_EXHAUSTED तब दिखाया जाता है, जब अनुरोध की गई कार्रवाई की अनुमति नहीं है, क्योंकि कोटा या सर्वर की क्षमता जैसे कुछ रिसॉर्स खत्म हो गए हैं. आम तौर पर, अनुरोध से जुड़ी इस तरह की गड़बड़ियां तब होती हैं, जब आपके ऐप्लिकेशन ने ज़्यादा लोड जनरेट किया हो.

इन सीमाओं को ट्रिगर होने से रोकने और अपने ऐप्लिकेशन को भरोसेमंद बनाने के लिए, फिर से कोशिश करने की सुविधा का इस्तेमाल करें. फिर से कोशिश करने के मान्य तरीके:

  • अनुरोध को फिर से करने और एक साथ कई अनुरोधों के लिए, अनुरोधों की संख्या को बढ़ाने के लिए, ट्रिंकेटेड एक्सपोनेंशियल बैकऑफ़ का इस्तेमाल करें.

  • कॉल के बीच में होने वाली रुकावटों से बचने के लिए, ट्रिगर होने में लगने वाले समय को कम करने के लिए, एक्सपोनेंशियल बैकऑफ़ का इस्तेमाल करें. जिटर की सुविधा से, अनुरोधों को तेज़ी से पूरा करने में मदद मिल सकती है. इसके लिए, अनुरोधों में रैंडम तरीके से देरी की जाती है, ताकि अनुरोधों में आने वाली बढ़ोतरी को कम किया जा सके.

अगर कोटा की सीमाओं की वजह से आपके ऐप्लिकेशन में RESOURCE_EXHAUSTED गड़बड़ियां दिखती हैं, तो कोटा बढ़ाने का अनुरोध सबमिट करें. ज़्यादा जानकारी के लिए, एपीआई कोटा को मॉनिटर करना सहायता केंद्र का लेख पढ़ें.

UserCourseJoinRateLimitReached

UserCourseJoinRateLimitReached से पता चलता है कि उपयोगकर्ता ने पहले ही, एक दिन में ज़्यादा से ज़्यादा अनुमति वाले कोर्स में शामिल हो चुका है. ज़्यादा जानकारी के लिए, Groups की नीतियों और सीमाओं के बारे में जानकारी से जुड़े सहायता केंद्र के लेख में "ग्रुप में शामिल होने के न्योते और ग्रुप का साइज़" सेक्शन देखें.

संभावित कार्रवाई: कोर्स में शामिल होने में हुई समस्या की वजह बताएं और उपयोगकर्ता को कोर्स में शामिल होने से पहले एक दिन इंतज़ार करने का सुझाव दें.

एचटीटीपी 500: INTERNAL

INTERNAL से पता चलता है कि अनुरोध को प्रोसेस करते समय कोई ऐसी गड़बड़ी हुई है जिसकी उम्मीद नहीं थी. INTERNAL अनुरोध से जुड़ी गड़बड़ियों को अक्सर, अनुरोध फिर से करने के लिए एक्सपोनेंशियल बैकऑफ़ का इस्तेमाल करके भी ठीक किया जा सकता है. अगर INTERNAL गड़बड़ी बनी रहती है, तो Classroom API के सार्वजनिक समस्या ट्रैकर पर बग दर्ज करके इसकी शिकायत की जा सकती है.