इस गाइड में, आपकी वेबसाइट या ऐप्लिकेशन में ऐड-ऑन अटैचमेंट बनाने के बारे में बताया गया है. ये इंटरैक्शन, CourseWork API एंडपॉइंट का इस्तेमाल करके असाइनमेंट बनाने के तरीके से मिलते-जुलते हैं. इस प्रोसेस को लागू करें, ताकि उपयोगकर्ता आपकी वेबसाइट या ऐप्लिकेशन से ऐड-ऑन वाले अटैचमेंट बना सकें.
वर्कफ़्लो
बड़े लेवल पर, अटैचमेंट बनाने की प्रोसेस इस क्रम में होती है:
- शिक्षक आपकी वेबसाइट या ऐप्लिकेशन खोलता है. वह अपने छात्र-छात्राओं को असाइन करने के लिए कोई कॉन्टेंट चुनता है.
- देखें कि उपयोगकर्ता, ऐड-ऑन अटैचमेंट बना सकता है या नहीं.
- अगर उपयोगकर्ता ऐड-ऑन वाले अटैचमेंट नहीं बना सकता, तो चुने गए कॉन्टेंट के यूआरएल को लिंक किए गए संसाधन के तौर पर इस्तेमाल करके, CourseWork असाइनमेंट बनाएं.
- अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है, तो यह तरीका अपनाएं:
- कोई असाइनमेंट बनाएं.
- चुने गए कॉन्टेंट से लिंक होने वाला ऐड-ऑन अटैचमेंट बनाएं और उसे नए असाइनमेंट से जोड़ें.
- शिक्षक को बताएं कि असाइनमेंट बन गया है.
हर कार्रवाई के बारे में यहां बताया गया है.
यह कुकी यह तय करती है कि कोई उपयोगकर्ता, ऐड-ऑन अटैचमेंट बना सकता है या नहीं
ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ता की ओर से, ऐड-ऑन अटैचमेंट बनाए जा सकते हैं. ज़रूरी शर्तें पूरी करने वाला उपयोगकर्ता वह होता है जो उस कोर्स में शिक्षक हो जिसमें आपको CourseWork असाइनमेंट बनाने हैं और जिसके पास Teaching and Learning या Education Plus Google Workspace for Education वर्शन का लाइसेंस हो.
सबसे पहले यह तय करें कि उपयोगकर्ता, ऐड-ऑन अटैचमेंट बना सकता है या नहीं. इसके लिए, CREATE_ADD_ON_ATTACHMENT
पैरामीटर के साथ userProfiles.checkUserCapability
एंडपॉइंट पर अनुरोध भेजें. जवाब में मौजूद बूलियन allowed
फ़ील्ड की जांच करें. true
वैल्यू से पता चलता है कि उपयोगकर्ता, ऐड-ऑन अटैचमेंट बनाने की ज़रूरी शर्तें पूरी करता है.
Python
eligibility_response = (
classroom_service.userProfiles()
.checkUserCapability(
userId="me",
capability="CREATE_ADD_ON_ATTACHMENT",
# The previewVersion is necessary while the method is available in the
# Workspace Developer Preview Program.
previewVersion="V1_20240930_PREVIEW",
).execute()
)
is_create_attachment_eligible = (
eligibility_response.get('allowed')
)
print('User eligibility for add-on attachment creation: '
f'{is_create_attachment_eligible}.')
ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ता को रीडायरेक्ट करना
ज़रूरी शर्तें पूरी करने पर ही, किसी उपयोगकर्ता के लिए ऐड-ऑन अटैचमेंट बनाए जा सकते हैं.
ज़रूरी शर्तें पूरी न करने वाला उपयोगकर्ता
अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट नहीं बना सकता, तो उपयोगकर्ता के चुने गए कॉन्टेंट के यूआरएल को 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
केitemId
को, नई बनाई गई असाइनमेंट की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 में खुलते हैं.