शुरुआती जानकारी

Classroom और तीसरे पक्ष के टूल, दोनों का इस्तेमाल करने वाले शिक्षकों को एक से ज़्यादा प्लैटफ़ॉर्म पर अपने कोर्स और रोस्टर सेट अप करने में समस्या आती है. इसे मैन्युअल तरीके से भी किया जा सकता है. इसके लिए, CSV फ़ाइल अपलोड करें या ईमेल पते एक-एक करके डालें. हालांकि, Classroom API की मदद से तीसरे पक्ष के टूल, एपीआई के सबसे सामान्य इस्तेमाल के उदाहरण: रोस्टर इंपोर्ट के साथ इंटिग्रेट करके, शिक्षक के काम का बोझ कम कर सकते हैं.

नामावली इंपोर्ट करने की सुविधा की मदद से, तीसरे पक्ष के प्लैटफ़ॉर्म, शिक्षक या एडमिन की अनुमति लेकर, हर कोर्स के हिसाब से कोर्स का मेटाडेटा, शिक्षकों, और छात्र-छात्राओं की जानकारी हासिल कर सकते हैं. शिक्षक उन कोर्स की जानकारी देख सकते हैं जिन्हें वे पढ़ाते हैं. वहीं, एडमिन के पास पूरे डोमेन के सभी कोर्स की जानकारी का ऐक्सेस होता है. इस सुविधा की मदद से, डेवलपर अपने प्लैटफ़ॉर्म पर, Classroom के रोस्टर को आसानी से शामिल कर सकते हैं. इसके लिए, वे एडमिन क्रेडेंशियल का इस्तेमाल करके, किसी शिक्षक के लेवल पर या पूरे डोमेन में रोस्टर शामिल कर सकते हैं.

रोस्टर इंपोर्ट इंटिग्रेशन कैसा दिख सकता है, इसकी तकनीकी जानकारी देने से पहले, आइए पहले वर्कफ़्लो का एक उदाहरण देखें:

  1. तीसरे पक्ष के ऐप्लिकेशन में, शिक्षक Classroom का कोर्स इंपोर्ट करने का विकल्प चुनता है.

  2. तीसरे पक्ष का ऐप्लिकेशन, Classroom API के ज़रिए courses.list तरीके को कॉल करता है. इससे शिक्षक के सभी कोर्स के साथ एक रिस्पॉन्स JSON मिलेगा.

  3. तीसरे पक्ष का ऐप्लिकेशन, JSON रिस्पॉन्स से शिक्षक के कोर्स के टाइटल दिखाता है, ताकि वह उनमें से किसी एक को चुन सके. अगले चरण पर जाने के लिए, ऐप्लिकेशन को कोर्स आईडी का ट्रैक रखना होगा.

  4. चुने गए कोर्स आईडी के साथ, तीसरे पक्ष का ऐप्लिकेशन students.list और teachers.list तरीकों को कॉल करता है. साथ ही, शिक्षकों को इंपोर्ट करने की पुष्टि करने के लिए, अपनी वेबसाइट पर सभी नाम दिखाता है.

  5. students.list और teachers.list रिस्पॉन्स के JSON में दिखाए गए ईमेल का इस्तेमाल करके, तीसरे पक्ष का ऐप्लिकेशन उपयोगकर्ताओं को अपने प्लैटफ़ॉर्म पर, इंपोर्ट किए गए नए कोर्स में शामिल होने का न्योता देता है.

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

  1. Classroom API की मदद से कोर्स मैनेज करना
  2. छात्रों और शिक्षकों को मैनेज करना

ऊपर बताए गए रोस्टर इंपोर्ट वर्कफ़्लो की खास जानकारी देने वाला डायग्राम.

शुरू करें

Classroom रोस्टर इंपोर्ट की खास जानकारी लागू करने से पहले, आपको यह तय करना होगा कि एपीआई की मदद से आपको कौनसे कोर्स और उपयोगकर्ता की कौनसी जानकारी चाहिए. रेफ़रंस दस्तावेज़ में जाकर, यह देखा जा सकता है कि कोर्स का कौनसा मेटाडेटा उपलब्ध है. हालांकि, कुछ ज़रूरी या सामान्य फ़ील्ड की खास जानकारी यहां दी गई है:

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

कोर्स की यह जानकारी, ऊपर दिए गए वर्कफ़्लो के courses.list चरण में हासिल की जाती है. इस अनुरोध में, अनुरोध के कुछ पैरामीटर तय किए जा सकते हैं. इस तरीके के लिए, किसी भी पैरामीटर का इस्तेमाल करना ज़रूरी नहीं है. हालांकि, कुछ पैरामीटर का इस्तेमाल करने का सुझाव दिया जाता है:

पैरामीटर इस्तेमाल करें
courseState अगर इस पैरामीटर की वैल्यू नहीं दी जाती है, तो एपीआई कोर्स की सभी छह स्थितियों के कोर्स दिखाएगा. हमारा सुझाव है कि शिक्षकों के मौजूदा कोर्स वापस पाने के लिए, ACTIVE का इस्तेमाल करें.
pageSize हमारा सुझाव है कि जो शिक्षक अपने कोर्स इंपोर्ट कर रहे हैं वे एपीआई कॉल के रिस्पॉन्स में लगने वाले समय को कम करने के लिए, पेज साइज़ को छोटा (10 से कम) रखें.
pageToken पेज के हिसाब से अनुरोध करने पर, यह एट्रिब्यूट देना ज़रूरी है.
teacherId हमारा सुझाव है कि आप ऐसा करें, क्योंकि डोमेन एडमिन अक्सर कोर्स पढ़ाते हैं. अगर इसकी वैल्यू नहीं दी जाती है, तो अनुरोध करने पर पूरे डोमेन के शिक्षकों के लिए कोर्स दिखेंगे.
फ़ील्ड्स एपीआई कॉल के रिस्पॉन्स में लगने वाले समय को कम करने का सुझाव दिया जाता है.

पहले से हासिल किए गए कोर्स आईडी का इस्तेमाल करके, आपका ऐप्लिकेशन अब उस कोर्स या कोर्स के लिए, छात्र-छात्राओं और सह-शिक्षकों की सूची हासिल कर सकता है. यह कोर्स आईडी, teachers.list और students.list के लिए ज़रूरी क्वेरी पैरामीटर है. हालांकि, एपीआई कॉल के रिस्पॉन्स में लगने वाले समय को कम करने के लिए, pageSize और fields पैरामीटर भी दिए जा सकते हैं.

छात्र और शिक्षक के लिए उपलब्ध सभी फ़ील्ड, उनके दस्तावेज़ में देखे जा सकते हैं. profile फ़ील्ड में, सबसे ज़्यादा इस्तेमाल होने वाले और आम तौर पर ज़रूरी दो फ़ील्ड होते हैं: profile.name और profile.emailAddress.

फ़ील्ड इस्तेमाल करें
profile.name उपयोगकर्ता के लिए आसानी से इस्तेमाल करने के लिए सुझाया गया है. जैसे, आपकी वेबसाइट पर दिखाना
profile.emailAddress यह जानकारी उन ऐप्लिकेशन के लिए ज़रूरी है जो छात्र-छात्राओं की पहचान करने के लिए, यूनीक आईडी का इस्तेमाल करते हैं

Classroom से कोर्स या रोस्टर की किसी भी जानकारी को वापस पाने और उसका इस्तेमाल करने के लिए, आपके ऐप्लिकेशन को उपयोगकर्ताओं से अनुमति का अनुरोध करना होगा. इस वर्कफ़्लो को लागू करने के लिए, तीन (3) ज़रूरी स्कोप होते हैं:

  • https://www.googleapis.com/auth/classroom.courses.readonly
    • Google Classroom के कोर्स का रीड ओनली ऐक्सेस देता है
  • https://www.googleapis.com/auth/classroom.rosters.readonly
    • Google Classroom के कोर्स (शिक्षकों और छात्र-छात्राओं) के रोस्टर का रीड-ओनली ऐक्सेस देता है
  • https://www.googleapis.com/auth/classroom.profile.emails
    • शिक्षकों और छात्र-छात्राओं की ईमेल प्रॉपर्टी को पढ़ने का ऐक्सेस देता है

Pub/Sub सूचनाओं की मदद से रोस्टर सिंक करना

स्कूल की साल के दौरान, छात्र-छात्राएं कोई कोर्स छोड़ सकते हैं या कोई नया कोर्स जोड़ सकते हैं. इस वजह से, रोस्टर में बदलाव हो सकता है. Pub/Sub सूचनाएं जोड़ने पर, तीसरे पक्ष के ऐप्लिकेशन को Classroom के रोस्टर के साथ सिंक किया जा सकता है. सूचनाएं पाने के लिए, आपको Google Cloud Pub/Sub का विषय सेट अप करना होगा. इसके बाद, विषय को Classroom API के साथ रजिस्टर करना होगा. यह रजिस्ट्रेशन, Classroom से दिए गए फ़ीड से दिए गए विषय पर डेटा भेजने का अनुरोध है. यह फ़ीड, शिक्षक के Classroom रोस्टर के साथ फिर से सिंक करने के लिए इवेंट ट्रिगर होगा.

पुश नोटिफ़िकेशन का इस्तेमाल करने के लिए, एक और स्कोप की ज़रूरत होगी. हालांकि, इसकी पुष्टि करने के लिए इसे सबमिट करने की ज़रूरत नहीं है:

  • https://www.googleapis.com/auth/classroom.push-notifications
    • इससे आपके ऐप्लिकेशन को किसी भी पुश नोटिफ़िकेशन गतिविधि के लिए रजिस्टर करने की अनुमति मिलती है

पुश नोटिफ़िकेशन के साथ रोस्टर इंपोर्ट वर्कफ़्लो की खास जानकारी देने वाला डायग्राम

Classroom की पुश सूचनाओं के साथ इंटिग्रेट करने के तरीके के बारे में ज़्यादा जानने के लिए, पुश सूचनाएं मैनेज करने के बारे में गाइड देखें.