Classroom और तीसरे पक्ष के टूल, दोनों का इस्तेमाल करने वाले शिक्षकों को कई प्लैटफ़ॉर्म पर अपने कोर्स और नामावली सेट अप करने में समस्या आती है. इसे मैन्युअल तरीके से किया जा सकता है. इसके लिए, CSV फ़ाइल अपलोड की जा सकती है या एक-एक करके ईमेल पते डाले जा सकते हैं. हालांकि, Classroom API की मदद से तीसरे पक्ष के टूल, शिक्षकों के काम को कम कर सकते हैं. इसके लिए, उन्हें एपीआई के सबसे सामान्य इस्तेमाल के उदाहरण के साथ इंटिग्रेट करना होगा: रोस्टर इंपोर्ट करना.
छात्र-छात्राओं की सूची इंपोर्ट करने की सुविधा की मदद से, तीसरे पक्ष के प्लैटफ़ॉर्म, कोर्स के मेटाडेटा, शिक्षकों, और छात्र-छात्राओं की जानकारी को कोर्स के हिसाब से ऐक्सेस कर सकते हैं. इसके लिए, शिक्षक या एडमिन की अनुमति होना ज़रूरी है. शिक्षक, उन कोर्स की जानकारी वापस पा सकते हैं जिन्हें वे पढ़ाते हैं. वहीं, एडमिन के पास पूरे डोमेन के सभी कोर्स की जानकारी का ऐक्सेस होता है. इस सुविधा की मदद से, डेवलपर अपने प्लैटफ़ॉर्म पर Classroom में छात्र-छात्राओं की सूचियां आसानी से जोड़ सकते हैं. वे ऐसा किसी एक शिक्षक के लेवल पर या एडमिन क्रेडेंशियल का इस्तेमाल करके पूरे डोमेन के लिए कर सकते हैं.
रोस्टर इंपोर्ट इंटिग्रेशन कैसा दिख सकता है, इसकी तकनीकी जानकारी पर जाने से पहले, आइए सबसे पहले वर्कफ़्लो का एक उदाहरण देखें:
तीसरे पक्ष के ऐप्लिकेशन में, शिक्षक के पास Classroom कोर्स इंपोर्ट करने का विकल्प होता है.
तीसरे पक्ष का ऐप्लिकेशन, Classroom API के ज़रिए
courses.listतरीके को कॉल करता है. इससे, शिक्षक के सभी कोर्स की जानकारी वाला JSON रिस्पॉन्स मिलता है.json रिस्पॉन्स से, तीसरे पक्ष का ऐप्लिकेशन शिक्षक के कोर्स के टाइटल दिखाता है, ताकि शिक्षक उनमें से किसी एक को चुन सके. अगले चरण पर जाने के लिए, ऐप्लिकेशन को कोर्स आईडी ट्रैक करने होंगे.
चुने गए कोर्स आईडी की मदद से, तीसरे पक्ष का ऐप्लिकेशन
students.listऔरteachers.listतरीकों को कॉल करता है. साथ ही, अपनी वेबसाइट पर सभी नाम दिखाता है, ताकि शिक्षक इंपोर्ट करने की पुष्टि कर सकें.students.listऔरteachers.listरिस्पॉन्स JSON में मिले ईमेल का इस्तेमाल करके, तीसरे पक्ष का ऐप्लिकेशन उपयोगकर्ताओं को अपने प्लैटफ़ॉर्म पर इंपोर्ट किए गए नए कोर्स में शामिल होने का न्योता देता है.
वर्कफ़्लो में बताए गए हर तरीके के लिए, एपीआई एक्सप्लोरर का इस्तेमाल किया जा सकता है. इससे यह देखा जा सकता है कि हर तरीका कैसे काम करता है. हमारा सुझाव है कि इस गाइड को पूरा करने से पहले, यहां दिए गए लेख पढ़ लें:

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