इस गाइड में, आपकी वेबसाइट या ऐप्लिकेशन में ऐड-ऑन अटैचमेंट बनाने के बारे में बताया गया है. इंटरैक्शन CourseWork API एंडपॉइंट का इस्तेमाल करके असाइनमेंट बनाने जैसे ही होते हैं. उपयोगकर्ताओं को आपकी वेबसाइट या ऐप्लिकेशन से ऐड-ऑन अटैचमेंट बनाने की सुविधा देने के लिए, इस सफ़र को लागू करें.
वर्कफ़्लो
बड़े लेवल पर, अटैचमेंट बनाने की प्रोसेस इस क्रम में होती है:
- जब कोई शिक्षक आपकी वेबसाइट या ऐप्लिकेशन खोलता है, तब वह छात्र-छात्राओं को काम असाइन करने के लिए कोई कॉन्टेंट चुनता है.
- जांचें कि उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है या नहीं.
- अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट नहीं बना सकता, तो लिंक कॉन्टेंट के तौर पर चुने गए कॉन्टेंट के यूआरएल के साथ CourseWork असाइनमेंट बनाएं.
- अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है, तो ये काम करें:
- एक असाइनमेंट बनाएं.
- एक ऐड-ऑन अटैचमेंट बनाएं, जो चुने गए कॉन्टेंट से लिंक हो और उसे नए असाइनमेंट के साथ जोड़ें.
- शिक्षक को बताएं कि असाइनमेंट बना दिया गया है.
हर कार्रवाई के बारे में नीचे दिए गए सेक्शन में बताया गया है.
यह देखना कि उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है या नहीं
ज़रूरी शर्तें पूरी करने वाले किसी उपयोगकर्ता के लिए, ऐड-ऑन अटैचमेंट बनाए जा सकते हैं. ज़रूरी शर्तें पूरी करने वाला उपयोगकर्ता वह उपयोगकर्ता होता है जो उस कोर्स में टीचर होता है जिसे आपको कोर्स के असाइनमेंट बनाने हैं. साथ ही, उसे Teaching & Learning या Education Plus वर्शन का लाइसेंस भी दिया गया हो.
सबसे पहले यह तय करें कि उपयोगकर्ता, दिए गए Course
में ऐड-ऑन बना सकता है या नहीं.
courses.checkAddOnCreationEligibility
एंडपॉइंट को अनुरोध जारी करें. इसमें कोर्स आईडी भी शामिल है.
Python
eligibility_response = (
classroom_service.courses()
.checkAddOnCreationEligibility(courseId=course_id)
.execute()
)
is_create_attachment_eligible = (
eligibility_response.get('isCreateAttachmentEligible')
)
print(f'User eligibility for course {eligibility_response.get("courseId")}'
f': {is_create_attachment_eligible}.')
अगर उपयोगकर्ता ज़रूरी शर्तें पूरी करता है, तो रिस्पॉन्स में
isCreateAttachmentEligible
की बूलियन वैल्यू को true
पर सेट किया जाएगा. अगर उपयोगकर्ता ज़रूरी शर्तें पूरी नहीं करता,
तो जवाब में isCreateAttachmentEligible
बूलियन नहीं दिखेगा.
उपयोगकर्ता को उसकी ज़रूरी शर्तों के हिसाब से रूट करें
अगर ज़रूरी शर्तों को पूरा किया जाता है, तो यह तय होता है कि किसी उपयोगकर्ता के लिए ऐड-ऑन अटैचमेंट बनाए जा सकते हैं या नहीं.
ज़रूरी शर्तें पूरी न करने वाले उपयोगकर्ता
अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट नहीं बना सकता, तो उपयोगकर्ता के चुने गए कॉन्टेंट यूआरएल के साथ Link
के तौर पर, एक नया CourseWork
असाइनमेंट बनाएं.
Python
if not is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Link Material',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
'materials': [
{'link': {'url': my_content_url}}
]
}
assignment = (
service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Link Material assignment created with ID: {assignment.get("id")}'
)
इस जवाब में, अनुरोध किए गए कोर्स का एक असाइनमेंट है, जिसमें अटैच किया गया कॉन्टेंट है. उपयोगकर्ता Link
पर क्लिक करके, आपकी साइट के कॉन्टेंट को नए टैब में खोल सकते हैं.
पहला डायग्राम. लिंक किए गए कॉन्टेंट के साथ, CourseWork असाइनमेंट के ड्राफ़्ट का शिक्षक व्यू.
ज़रूरी शर्तें पूरी करने वाला उपयोगकर्ता
अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है, तो ये काम करें.
- बिना किसी अटैचमेंट के एक नया
CourseWork
असाइनमेंट बनाएं. - ऐड-ऑन अटैचमेंट बनाएं.
AddOnAttachment
केpostId
को नए बनाए गए असाइनमेंट केid
पर सेट करें.- पक्का करें कि आपके साथ काम करने वाले हर व्यू के लिए उपयोगकर्ता के चुने गए कॉन्टेंट का यूआरएल दिया गया है.
Python
if is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Add-on Attachment',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
}
assignment = (
classroom_service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Empty assignment created with ID: {assignment.get("id")}'
)
attachment = {
'teacherViewUri': {'uri': teacher_view_url},
'studentViewUri': {'uri': student_view_url},
'studentWorkReviewUri': {'uri': grade_student_work_url},
'title': f'Test Attachment {test_label}',
}
add_on_attachment = (
service.courses()
.courseWork()
.addOnAttachments()
.create(
courseId=course_id,
itemId=assignment.get("id"), # ID of the new assignment.
body=attachment,
)
.execute()
)
print(
f'Add-on attachment created with ID: {add_on_attachment.get("id")}'
)
यह ऐड-ऑन, Classroom में अटैचमेंट कार्ड के तौर पर दिखता है. अनुरोध में बताए गए यूआरएल, हर व्यू के लिए iframe में खुलते हैं.