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

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 जो शिक्षक अपने कोर्स इंपोर्ट कर रहे हैं उनके लिए हमारा सुझाव है कि वे 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 की पुश नोटिफ़िकेशन के साथ इंटिग्रेट करने के बारे में ज़्यादा जानकारी के लिए, पुश नोटिफ़िकेशन मैनेज करने से जुड़ी हमारी गाइड देखें.