Classroom के यूज़र इंटरफ़ेस (यूआई) में पांच तरह के क्लासवर्क होते हैं: Assignments, क्विज़ असाइनमेंट, कम जवाब वाला सवाल, कई विकल्प वाले सवाल, और कॉन्टेंट. फ़िलहाल, Classroom API इनमें से तीन टाइप के साथ काम करता है. एपीआई के लिए, इन्हें CourseWorkType
कहा जाता है: Assignments, छोटे जवाब वाले सवाल, और कई विकल्प वाले सवाल.
Materials
को CourseWorkType
संसाधनों से अटैच करने की सुविधा देता है: असाइनमेंट, छोटे जवाब वाले सवाल, और कई विकल्प वाले सवाल.
इस सुविधा को ऐक्सेस करने के लिए, आप CourseWork संसाधन का इस्तेमाल करें. यह एक ऐसा असाइनमेंट या सवाल है जो किसी खास कोर्स के छात्र-छात्राओं को असाइन किया गया है. इसमें, पूरा करने की तारीख या ज़्यादा से ज़्यादा स्कोर जैसी दूसरी जानकारी भी शामिल होती है.
CourseWork संसाधन के अलावा, आप StudentSubmission
संसाधन से पूरे किए गए असाइनमेंट
मैनेज कर सकते हैं. नीचे दिए सेक्शन में इनके बारे में
ज़्यादा जानकारी दी गई है.
असाइनमेंट बनाना
असाइनमेंट सिर्फ़ कोर्स के शिक्षकों की ओर से बनाए जा सकते हैं.
किसी छात्र/छात्रा के लिए कोर्स के लिए असाइनमेंट बनाने पर 403 PERMISSION_DENIED
गड़बड़ी मिलेगी. इसी तरह, डोमेन एडमिन
उन कोर्स के लिए असाइनमेंट भी नहीं बना सकते जिन्हें वे नहीं पढ़ाते. साथ ही, एपीआई की मदद से ऐसा करने की कोशिश करने पर भी
403 PERMISSION_DENIED
गड़बड़ी होगी.
courses.courseWork.create
तरीके का इस्तेमाल करके असाइनमेंट बनाते समय, लिंक को materials
के तौर पर अटैच किया जा सकता है. इन्हें, नीचे सैंपल कोड में दिखाया गया है:
Java
Python
इस नतीजे में, सर्वर से असाइन किया गया आइडेंटिफ़ायर होता है. इसका इस्तेमाल, एपीआई अनुरोधों में असाइनमेंट के रेफ़रंस के लिए किया जा सकता है.
Classroom API की मदद से बनाए गए असाइनमेंट में, लिंक किए गए कॉन्टेंट को शामिल करने के लिए, लिंक रिसॉर्स का इस्तेमाल करें. इसमें टारगेट यूआरएल की जानकारी होनी चाहिए. Classroom में टाइटल और थंबनेल इमेज अपने-आप फ़ेच हो जाती हैं. Classroom API, मूल रूप से Google Drive और YouTube के कॉन्टेंट के साथ काम करता है. इन्हें Driveफ़ाइल रिसॉर्स या YouTubeVideo संसाधन के साथ इसी तरह शामिल किया जा सकता है.
पूरा होने की तारीख बताने के लिए, dueDate
और dueTime
फ़ील्ड को उससे जुड़े यूटीसी समय पर सेट करें. टास्क पूरा करने की तारीख, आने वाले समय की होनी चाहिए.
असाइनमेंट और सवाल वापस पाएं
आप संबंधित कोर्स के छात्र-छात्राओं और शिक्षकों के लिए या किसी डोमेन एडमिन के ज़रिए असाइनमेंट और सवाल फिर से पा सकते हैं. किसी खास असाइनमेंट या सवाल को फिर से पाने के लिए, Course.courseWork.get का इस्तेमाल करें. सभी असाइनमेंट या सवाल फिर से पाने के लिए (वैकल्पिक तौर पर कुछ शर्तों से मेल खाने वाला), courses.courseWork.list का इस्तेमाल करें.
ज़रूरी दायरा इस बात पर निर्भर करता है कि अनुरोध करने वाले उपयोगकर्ता की भूमिका कोर्स में क्या है. अगर उपयोगकर्ता छात्र/छात्रा है, तो इनमें से किसी एक स्कोप का इस्तेमाल करें:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
अगर उपयोगकर्ता शिक्षक या डोमेन एडमिन है, तो इनमें से किसी एक दायरे का इस्तेमाल करें:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
किसी असाइनमेंट या सवाल को वापस पाने की अनुमति होने का मतलब यह नहीं है कि मटीरियल या कॉन्टेंट मेटाडेटा को ऐक्सेस करने की अनुमतियां दी गई हैं. व्यावहारिक तौर पर, इसका मतलब है कि अगर एडमिन कोर्स का सदस्य नहीं है, तो हो सकता है कि उसे अटैच की गई Drive फ़ाइल का टाइटल न दिखे. अगर आप एडमिन को उपयोगकर्ता फ़ाइलों का ऐक्सेस देना चाहते हैं, तो पूरे डोमेन के लिए डेलिगेशन गाइड देखें.
छात्र-छात्राओं के जवाब मैनेज करना
StudentSubmission
संसाधन में, किसी छात्र/छात्रा के असाइनमेंट या सवाल के लिए किए गए काम और ग्रेड की जानकारी होती है. जब नया सवाल या असाइनमेंट बनाया जाता है, तो हर छात्र/छात्रा के लिए एक StudentSubmission
संसाधन बना दिया जाता है.
नीचे दिए सेक्शन में छात्र-छात्राओं के जवाबों को मैनेज करने वाली सामान्य कार्रवाइयों के बारे में बताया गया है.
छात्र/छात्रा के जवाब वापस पाएं
छात्र-छात्राएं अपने सबमिशन वापस ला सकते हैं, शिक्षक अपने कोर्स के सभी छात्र-छात्राओं के लिए सबमिशन वापस पा सकते हैं, और डोमेन एडमिन अपने डोमेन में सभी छात्र-छात्राओं के लिए सभी सबमिशन वापस पा सकते हैं. हर छात्र/छात्रा के सबमिशन को
एक आइडेंटिफ़ायर असाइन किया जाता है. अगर आपको आइडेंटिफ़ायर पता है, तो उसे वापस पाने के लिए
courses.courseWork.studentSubmissions.get
का इस्तेमाल करें.
कुछ शर्तों से मेल खाने वाले रिसॉर्स पाने के लिए, courses.courseWork.studentSubmissions.list
वाला तरीका अपनाएं.
StudentSubmission
के लिए यहां दिए गए सैंपल में बताया गया है:
Java
Python
किसी खास छात्र/छात्रा से जुड़े StudentSubmission
संसाधन वापस पाने के लिए, userId
पैरामीटर की जानकारी दें, जैसा कि नीचे दिए गए सैंपल में दिखाया गया है:
Java
Python
छात्र-छात्राओं की पहचान उपयोगकर्ता के यूनीक आईडी या ईमेल पते से की जाती है, जो
Google Admin SDK टूल देता है. मौजूदा उपयोगकर्ता "me"
शॉर्टहैंड का इस्तेमाल करके,
अपना आईडी भी बता सकता है.
इस बात की भी संभावना है कि किसी कोर्स के सभी असाइनमेंट के लिए, छात्र-छात्राओं को असाइनमेंट सबमिट किए जाएं. ऐसा करने के लिए, लिटरल "-"
का इस्तेमाल courseWorkId
के तौर पर करें, जैसा कि नीचे दिए गए सैंपल में दिखाया गया है:
Java
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
ज़रूरी दायरा इस बात पर निर्भर करता है कि अनुरोध करने वाले उपयोगकर्ता की भूमिका कोर्स में क्या है. अगर उपयोगकर्ता शिक्षक या डोमेन एडमिन है, तो इन स्कोप का इस्तेमाल करें:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
अगर उपयोगकर्ता छात्र/छात्रा है, तो नीचे दिए गए तरीके का इस्तेमाल करें:
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
किसी छात्र/छात्रा के सबमिट किए गए असाइनमेंट को दोबारा पाने की अनुमति होने का मतलब यह नहीं है कि अटैचमेंट या अटैचमेंट मेटाडेटा को ऐक्सेस करने की अनुमतियां दी जाएं. व्यावहारिक तौर पर, इसका मतलब है कि अगर एडमिन कोर्स का सदस्य नहीं है, तो हो सकता है कि उसे अटैच की गई Drive फ़ाइल का टाइटल न दिखे. अगर आपको एडमिन को उपयोगकर्ता की फ़ाइलों का ऐक्सेस देना है, तो पूरे डोमेन पर उपयोगकर्ताओं को अपने ईमेल खाते का ऐक्सेस देने की सुविधा गाइड देखें.
छात्र-छात्राओं के जवाब में अटैचमेंट जोड़ना
Link
,
DriveFile
या YouTubeVideo
संसाधन अटैच करके, किसी छात्र/छात्रा के सबमिशन में लिंक अटैच किए जा सकते हैं. ऐसा courses.courseWork.studentSubmissions.modifyAttachments
का इस्तेमाल करके किया जाता है, जैसा कि नीचे दिए गए सैंपल में दिखाया गया है:
Java
Python
लिंक अटैचमेंट, टारगेट यूआरएल तय करता है. Classroom, शीर्षक और थंबनेल इमेज को अपने-आप फ़ेच कर लेगा. अन्य कॉन्टेंट के बारे में जानने के लिए, उनसे जुड़े रेफ़रंस पेज देखें.
StudentSubmission
में सिर्फ़ कोर्स का शिक्षक या वह छात्र/छात्रा ही बदलाव कर सकता है जिसके पास उसका मालिकाना हक है. Materials
को सिर्फ़ तब अटैच किया जा सकता है, जब छात्र/छात्रा के सबमिट किए गए असाइनमेंट में
CourseWorkType
की वैल्यू ASSIGNMENT
हो.
ज़रूरी दायरा इस बात पर निर्भर करता है कि अनुरोध करने वाले उपयोगकर्ता की भूमिका कोर्स में क्या है. अगर उपयोगकर्ता शिक्षक है, तो नीचे दिए गए स्कोप का इस्तेमाल करें:
https://www.googleapis.com/auth/classroom.coursework.students
अगर उपयोगकर्ता छात्र/छात्रा है, तो नीचे दिए गए तरीके का इस्तेमाल करें:
https://www.googleapis.com/auth/classroom.coursework.me
छात्र-छात्राओं के जवाब की स्थिति मैनेज करें
छात्र-छात्राओं के जवाब को सबमिट नहीं किया जा सकता, सबमिट नहीं किया जा सकता या वापस भेजा जा सकता है. StudentSubmission
में राज्य फ़ील्ड से मौजूदा स्थिति की जानकारी मिलती है. स्थिति बदलने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
courses.courseWork.studentSubmissions.turnIn
courses.courseWork.studentSubmissions.return
courses.courseWork.studentSubmissions.reclaim
इन सभी तरीकों में एक खाली शरीर रहता है. उदाहरण:
Java
Python
service.courses().courseWork().studentSubmission().turnIn(
courseId=<course ID or alias>,
courseWorkId=<courseWork ID>,
id=<studentSubmission ID>,
body={}).execute()
सिर्फ़ वही छात्र/छात्रा ही इसे सबमिट कर सकता है जिसके पास StudentSubmission
का मालिकाना हक है. इसके अलावा, वह इसका फिर से दावा कर सकता है.
सिर्फ़ सबमिट किए गए असाइनमेंट पर फिर से दावा किया जा सकता है. कोर्स के शिक्षक, सिर्फ़
StudentSubmission
को चालू कर सकते हैं.
ग्रेड छात्र/छात्रा के जवाब
StudentSubmission
संसाधन में ग्रेड स्टोर करने के लिए दो फ़ील्ड होते हैं:
assignedGrade
, जो कि छात्र-छात्राओं को रिपोर्ट किया गया ग्रेड है और draftGrade
,
जो सिर्फ़ शिक्षकों को दिखने वाला अस्थायी ग्रेड है. इन फ़ील्ड को
courses.courseWork.studentSubmissions.patch
का इस्तेमाल करके अपडेट किया जाता है. इसके लिए, फ़ील्ड मास्क वाले फ़ील्ड मास्क का इस्तेमाल किया जाता है, जैसा कि नीचे दिए गए सैंपल में दिखाया गया है.
Java
Python
studentSubmission = {
'assignedGrade': 99,
'draftGrade': 80
}
service.courses().courseWork().studentSubmissions().patch(
courseId=<course ID or alias>,
courseWorkId=<courseWork ID>,
id=<studentSubmission ID>,
updateMask='assignedGrade,draftGrade',
body=studentSubmission).execute()
Classroom के यूज़र इंटरफ़ेस (यूआई) पर काम करते समय, शिक्षक तब तक ग्रेड असाइन नहीं कर सकते, जब तक कि वे पहले ड्राफ़्ट के तौर पर सेव किए गए ग्रेड को सेव न कर दें. इसके बाद, असाइन किए गए ग्रेड को छात्र/छात्रा को लौटाया जा सकता है. ऐप्लिकेशन को इस व्यवहार को अपनाना होगा. आपका आवेदन किसी छात्र/छात्रा के असाइनमेंट को इन दो में से किसी एक तरीके से ग्रेड कर सकता है:
सिर्फ़
draftGrade
असाइन करें. उदाहरण के लिए, यह बहुत काम का होता है. इससे शिक्षकों को ग्रेड देने से पहले, मैन्युअल तौर पर उनकी समीक्षा करने का विकल्प दिया जा सकता है. छात्र-छात्राओं को ड्राफ़्ट ग्रेड नहीं दिखेंगे.किसी असाइनमेंट को पूरी तरह से ग्रेड करने के लिए,
draftGrade
औरassignedGrade
, दोनों असाइन करें.
असाइन किए गए ग्रेड की सूची बनाना
courses.courseWork.studentSubmissions.list
तरीके के रिस्पॉन्स ऑब्जेक्ट को एक्सप्लोर करके, कोर्सवर्क वाले किसी खास आइटम के लिए सभी ग्रेड सूची में जोड़े जा सकते हैं:
Java
Python
response = coursework.studentSubmissions().list(
courseId=course_id,
courseWorkId=coursework_id,
pageSize=10).execute()
submissions.extend(response.get('studentSubmissions', []))
if not submissions:
print('No student submissions found.')
print('Student Submissions:')
for submission in submissions:
print(f"Submitted at:"
f"{(submission.get('userId'), submission.get('assignedGrade'))}")