יצירת קבצים מצורפים מחוץ ל-Google Classroom

המדריך הזה עוסק ביצירת קבצים מצורפים לתוספים באתר או באפליקציה. האינטראקציות האלה דומות ליצירת מטלות באמצעות CourseWork API נקודות קצה (endpoints). הטמעת התהליך הזה כדי לאפשר למשתמשים ליצור קבצים מצורפים לתוספים מהאתר או מהאפליקציה.

תהליך עבודה

ככלל, התהליך ליצירת קבצים מצורפים מתבצע לפי הרצף הבא:

  1. משתמש של מורה פותח את האתר או האפליקציה שלכם. הוא בוחר קטע תוכן להקצות לתלמידים שלהם.
  2. לבדוק אם המשתמש יכול ליצור קבצים מצורפים לתוספים.
  3. אם המשתמש לא יכול ליצור קבצים מצורפים לתוספים, צריך ליצור CourseWork עם כתובת ה-URL של התוכן שנבחר כחומר של קישור.
  4. אם המשתמש יכול ליצור קבצים מצורפים של תוספים, מבצעים את הפעולות הבאות:
    1. יוצרים מטלה.
    2. יוצרים קובץ מצורף של תוסף שמקשר לתוכן שנבחר ו לשייך אותו למטלה החדשה.
  5. צריך להודיע למורה שהמטלה נוצרה בהצלחה.

כל פעולה מתוארת בקטעים הבאים.

לבדוק אם המשתמש יכול ליצור קבצים מצורפים לתוספים

אתם יכולים ליצור קבצים מצורפים לתוספים בשם משתמש שעומד בדרישות. נכס כשיר משתמש הוא משתמש שהוא מורה בקורס שניסית ליצור מטלות ב-CourseWork ב-וכולל את Teaching & Learning או Education Plus רישיון למהדורת Google Workspace for Education שהוקצה להם.

קודם כל צריך לקבוע אם המשתמש יכול ליצור תוספים ב-Course נתון. שולחים בקשה לנקודת הקצה (endpoint) 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.

ניתוב המשתמשים על סמך הכשירות שלהם

הכשירות קובעת אם מותר ליצור קבצים מצורפים של תוספים למשתמש מסוים.

משתמש לא עומד בדרישות

אם המשתמש לא יכול ליצור קבצים מצורפים של תוספים, צריך ליצור קובץ CourseWork חדש עם כתובת ה-URL של התוכן שהמשתמש בחר בתור Link.

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 עם חומר קישור

איור 1. תצוגת מורה של טיוטה של מטלה ב-CourseWork עם חומר קישור.

משתמש שעומד בדרישות

מבצעים את הפעולות הבאות אם המשתמש יכול ליצור קבצים מצורפים לתוספים.

  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. כתובות ה-URL שצוין בבקשה, פתוחה iframe לכל תצוגה מפורטת.