이 가이드에서는 웹사이트 또는 애플리케이션에서 부가기능 첨부파일을 만드는 방법을 설명합니다. 상호작용은 CourseWork API 엔드포인트를 사용하여 과제 만들기와 유사합니다. 사용자가 웹사이트 또는 애플리케이션에서 부가기능 첨부파일을 만들 수 있도록 이 여정을 구현하세요.
워크플로
개략적으로 첨부파일 생성 여정은 다음과 같은 순서로 진행됩니다.
- 교사 사용자가 웹사이트 또는 앱을 엽니다. 교사는 학생에게 할당할 콘텐츠를 선택합니다.
- 사용자가 부가기능 첨부파일을 만들 수 있는지 확인합니다.
- 사용자가 부가기능 첨부파일을 만들 수 없는 경우 선택한 콘텐츠의 URL을 링크 자료로 사용하여 과제 도구 과제를 만듭니다.
- 사용자가 부가기능 첨부파일을 만들 수 있는 경우 다음 단계를 따르세요.
- 과제를 만듭니다.
- 선택한 콘텐츠로 연결되는 부가기능 첨부파일을 만들고 새 과제와 연결합니다.
- 과제가 생성되었다고 교사에게 알립니다.
각 작업은 다음 섹션에 설명되어 있습니다.
사용자가 부가기능 첨부파일을 만들 수 있는지 확인
자격 요건을 충족하는 사용자를 대신하여 부가기능 첨부파일을 만들 수 있습니다. 자격 요건을 충족하는 사용자는 과제 도구 과제를 만들려는 과정의 교사이며 또한 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}.')
자격요건에 따라 사용자를 라우트합니다.
자격요건에 따라 사용자에게 부가기능 첨부파일을 만들 수 있는지 여부가 결정됩니다.
자격 요건 미충족 사용자
사용자가 부가기능 첨부파일을 만들 수 없는 경우 사용자가 선택한 콘텐츠 URL을 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 과제의 교사용 보기
자격요건을 충족하는 사용자
사용자가 부가기능 첨부파일을 만들 수 있는 경우 다음 단계를 따르세요.
- 첨부파일 없이 새
CourseWork
과제를 만듭니다. - 부가기능 첨부파일을 만듭니다.
AddOnAttachment
의itemId
를 새로 만든 할당의id
로 설정합니다.- 지원하는 각 뷰에 대해 사용자가 선택한 콘텐츠의 URL을 제공해야 합니다.
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")}'
)
부가기능은 클래스룸에 첨부파일 카드로 표시됩니다. 요청에 지정된 URL은 적절한 뷰별 iframe에서 열립니다.