इस गाइड में, आपकी वेबसाइट या ऐप्लिकेशन में ऐड-ऑन वाले अटैचमेंट बनाने के बारे में बताया गया है. इनके साथ इंटरैक्शन, CourseWork API एंडपॉइंट का इस्तेमाल करके असाइनमेंट बनाने के जैसा होता है. उपयोगकर्ताओं को अपनी वेबसाइट या ऐप्लिकेशन से ऐड-ऑन वाले अटैचमेंट बनाने की अनुमति देने के लिए, यह तरीका अपनाएं.
वर्कफ़्लो
अटैचमेंट बनाने के लिए, यह तरीका अपनाएं:
- कोई शिक्षक, आपकी वेबसाइट या ऐप्लिकेशन खोलता है. इसके बाद, वह अपने छात्र-छात्राओं को असाइन करने के लिए कोई कॉन्टेंट चुनता है.
- पक्का करें कि उपयोगकर्ता, ऐड-ऑन वाले अटैचमेंट बना सकता हो.
- अगर उपयोगकर्ता, ऐड-ऑन वाले अटैचमेंट नहीं बना सकता, तो चुने गए कॉन्टेंट के यूआरएल को लिंक के तौर पर इस्तेमाल करके, CourseWork असाइनमेंट बनाएं.
- अगर उपयोगकर्ता, ऐड-ऑन वाले अटैचमेंट बना सकता है, तो यह तरीका अपनाएं:
- कोई असाइनमेंट बनाएं.
- कोई ऐड-ऑन वाला अटैचमेंट बनाएं, जो चुने गए कॉन्टेंट से लिंक हो. इसके बाद, इसे नए असाइनमेंट से जोड़ें.
- शिक्षक को बताएं कि असाइनमेंट बन गया है.
हर कार्रवाई के बारे में, यहां बताया गया है.
यह देखना कि कोई उपयोगकर्ता, ऐड-ऑन वाले अटैचमेंट बना सकता है या नहीं
ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ता की ओर से, ऐड-ऑन वाले अटैचमेंट बनाए जा सकते हैं. ज़रूरी शर्तें पूरी करने वाला उपयोगकर्ता वह होता है जो उस कोर्स में शिक्षक हो जिसके लिए CourseWork असाइनमेंट बनाए जा रहे हैं. साथ ही, उसके पास Google Workspace for Education के Teaching &Learning या Education Plus एडिशन का लाइसेंस हो.
सबसे पहले, यह तय करें कि उपयोगकर्ता, ऐड-ऑन वाले अटैचमेंट बना सकता है या नहीं. इसके लिए, 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असाइनमेंट बनाएं. - कोई ऐड-ऑन वाला अटैचमेंट बनाएं.
- नए बनाए गए
असाइनमेंट की
idको,AddOnAttachment'sitemIdपर सेट करें. - पक्का करें कि आपने उपयोगकर्ता के चुने गए कॉन्टेंट के यूआरएल, हर उस व्यू के लिए दिए हों जिसे आपने जोड़ा है.
- नए बनाए गए
असाइनमेंट की
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 में खुलते हैं.