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

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

वर्कफ़्लो

अटैचमेंट बनाने की प्रोसेस इस क्रम में होती है:

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

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

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

ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ता की ओर से, ऐड-ऑन अटैचमेंट बनाए जा सकते हैं. ज़रूरी शर्तें पूरी करने वाला उपयोगकर्ता, उस कोर्स का शिक्षक होता है जिसमें आपको CourseWork असाइनमेंट बनाने हैं और जिसके पास Teaching & 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(f'User eligibility for course {course_id}'
      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 पर क्लिक कर सकते हैं.

लिंक किए गए कॉन्टेंट की मदद से, कोर्सवर्क असाइनमेंट का ड्राफ़्ट बनाना

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

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

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

  1. बिना किसी अटैचमेंट वाला नया CourseWork असाइनमेंट बनाएं.
  2. ऐड-ऑन अटैचमेंट बनाएं.

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 में खुलते हैं.