Google Classroom के बाहर अटैचमेंट बनाना

इस गाइड में, आपकी वेबसाइट या ऐप्लिकेशन में ऐड-ऑन अटैचमेंट बनाने के बारे में बताया गया है. ये इंटरैक्शन कोर्सवर्क एपीआई एंडपॉइंट का इस्तेमाल करके असाइनमेंट बनाने के समान हैं. इस प्रोसेस को लागू करें, ताकि उपयोगकर्ता आपकी वेबसाइट या ऐप्लिकेशन से ऐड-ऑन अटैचमेंट बना सकें.

वर्कफ़्लो

बड़े लेवल पर, अटैचमेंट बनाने का सफ़र इस क्रम के बाद होता है:

  1. शिक्षक आपकी वेबसाइट या ऐप्लिकेशन खोलता है. वह अपने छात्र-छात्राओं को असाइन करने के लिए कॉन्टेंट का एक हिस्सा चुनता है.
  2. यह जांचें कि उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है.
  3. अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट नहीं बना सकता है, तो चुने गए कॉन्टेंट के यूआरएल का इस्तेमाल करके लिंक सामग्री के तौर पर, कोर्सWork असाइनमेंट बनाएं.
  4. अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है, तो ये काम करें:
    1. असाइनमेंट बनाएं.
    2. एक ऐड-ऑन अटैचमेंट बनाएं जो चुने गए कॉन्टेंट से लिंक हो और उसे नए असाइनमेंट से जोड़ें.
  5. शिक्षक को बताएं कि असाइनमेंट बना दिया गया है.

हर कार्रवाई के बारे में नीचे दिए गए सेक्शन में बताया गया है.

यह देखना कि कोई उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है या नहीं

ज़रूरी शर्तें पूरी करने वाले किसी उपयोगकर्ता की ओर से, ऐड-ऑन अटैचमेंट बनाए जा सकते हैं. ज़रूरी शर्तों को पूरा करने वाला उपयोगकर्ता, वह उपयोगकर्ता होता है जो उस कोर्स का शिक्षक होता है जिसे आपको कोर्स के असाइनमेंट बनाने हैं और उसके पास Teaching & Learning या Education Plus का Google Workspace for Education वर्शन का लाइसेंस असाइन किया गया है.

सबसे पहले यह तय करें कि उपयोगकर्ता, दिए गए 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 पर क्लिक कर सकते हैं.

लिंक मटीरियल के साथ कोर्सवर्क असाइनमेंट का ड्राफ़्ट तैयार करें

पहला डायग्राम. लिंक कॉन्टेंट वाले कोर्सवर्क असाइनमेंट के ड्राफ़्ट की इमेज, जिसमें शिक्षकों की भूमिका दिख रही है.

ज़रूरी शर्तें पूरी करने वाला उपयोगकर्ता

अगर उपयोगकर्ता ऐड-ऑन अटैचमेंट बना सकता है, तो नीचे दिया गया तरीका अपनाएं.

  1. बिना किसी अटैचमेंट के नया CourseWork असाइनमेंट बनाएं.
  2. ऐड-ऑन अटैचमेंट बनाएं.
    • 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 में खुलते हैं.