Classroom के यूज़र इंटरफ़ेस (यूआई), पांच तरह के क्लासवर्क के साथ काम करते हैं: असाइनमेंट, क्विज़ असाइनमेंट, छोटे जवाब वाले सवाल, और
सामग्री. फ़िलहाल, Classroom API में इस तरह के तीन विकल्प उपलब्ध हैं. इन्हें एपीआई के लिए, CourseWorkType
के तौर पर जाना जाता है: Assignments, छोटे जवाब, और कई विकल्प वाले सवाल.
इस सुविधा को ऐक्सेस करने के लिए, CourseWork रिसॉर्स का इस्तेमाल किया जा सकता है. यह असाइनमेंट या सवाल को दिखाता है जो किसी खास कोर्स में छात्र/छात्राओं को असाइन किया जाता है. इसमें, पूरा होने की तारीख या मैक्स स्कोर जैसे अन्य कॉन्टेंट और जानकारी भी शामिल होती है.
CourseWork संसाधन के अलावा, आप पूरे किए गए असाइनमेंट StudentSubmission
संसाधन से मैनेज कर सकते हैं. इन सेक्शन में, इनके बारे में
ज़्यादा जानकारी दी गई है.
असाइनमेंट बनाना
सिर्फ़ कोर्स के शिक्षक की ओर से असाइनमेंट बनाए जा सकते हैं और छात्र/छात्रा की ओर से कोर्स बनाने की कोशिश करने पर 403 PERMISSION_DENIED
वाली गड़बड़ी हो सकती है. इसी तरह, डोमेन एडमिन उन कोर्स के लिए भी असाइनमेंट नहीं बना सकते जिन्हें वे पढ़ाते नहीं हैं और एपीआई की मदद से ऐसा करने की कोशिश करते हैं. इसकी वजह से 403 PERMISSION_DENIED
गड़बड़ी भी हो सकती है.
courses.courseWork.create
तरीके का इस्तेमाल करके असाइनमेंट बनाते समय, लिंक को materials
के तौर पर अटैच किया जा सकता है, जैसा कि नीचे दिए गए सैंपल कोड में दिखाया गया है:
Java
Python
इस नतीजे में सर्वर से असाइन किया गया आइडेंटिफ़ायर शामिल होता है. इसका इस्तेमाल, दूसरे एपीआई अनुरोधों में असाइनमेंट का रेफ़रंस देने के लिए किया जा सकता है.
Classroom API की मदद से बनाए गए असाइनमेंट में, लिंक किए गए कॉन्टेंट को शामिल करने के लिए, लिंक संसाधन का इस्तेमाल करें. इसके लिए, टारगेट यूआरएल की जानकारी दें. Classroom अपने-आप शीर्षक और थंबनेल इमेज को फ़ेच करता है. Classroom API, मूल रूप से Google Drive और YouTube कॉन्टेंट के साथ भी काम करता है. यह DriveFile रिसॉर्स या YouTubeVideo रिसॉर्स की मदद से भी किया जा सकता है.
पूरा होने की तारीख बताने के लिए, dueDate
और dueTime
फ़ील्ड को संबंधित यूटीसी समय पर सेट करें. अनुमति देने की आखिरी तारीख, आने वाले समय की होनी चाहिए.
असाइनमेंट और सवालों के जवाब पाएं
आप मिलते-जुलते कोर्स के छात्र/छात्राओं और शिक्षकों के लिए, असाइनमेंट और सवाल पा सकते हैं. इसके अलावा, आप इसे किसी डोमेन एडमिन के ज़रिए भी वापस पा सकते हैं. किसी खास असाइनमेंट या सवाल को फिर से पाने के लिए, Course.courseWork.get का इस्तेमाल करें. सभी असाइनमेंट या सवालों को फिर से पाने के लिए (वैकल्पिक तौर पर कुछ मानदंड से मेल खाने वाला) Course.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
userId
सैंपल की जानकारी देकर, किसी खास छात्र/छात्रा से जुड़े StudentSubmission
रिसॉर्स फिर से पाएं, जैसा कि इस सैंपल में दिखाया गया है:
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
में सिर्फ़ कोर्स का शिक्षक या उसका मालिक बदलाव कर सकता है. छात्र/छात्रा के सबमिशन का
CourseWorkType
सिर्फ़ ASSIGNMENT
होने पर ही, Materials
अटैच किया जा सकता है.
ज़रूरी दायरा, अनुरोध करने वाले उपयोगकर्ता की भूमिका पर निर्भर करता है. अगर उपयोगकर्ता कोई शिक्षक है, तो इस तरीके का इस्तेमाल करें:
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'))}")