Classroom 앱은 CourseWork
, CourseWorkMaterials
, Announcements
의 세 가지 유형의 스트림 항목을 지원합니다. 이 가이드에서는 CourseWork
를 관리하는 방법을 설명하지만 모든 스트림 항목의 API는 유사합니다. 스트림 항목 유형과 그 차이점에 대해 자세히 알아보려면 API 리소스를 참고하세요.
CourseWork
리소스는 특정 과정의 학생에게 할당된 작업 항목을 나타내며, 여기에는 기한이나 최대 점수와 같은 추가 자료와 세부정보가 포함됩니다. CourseWork
에는 과제, 퀴즈 과제, 단답형 질문, 객관식 질문의 네 가지 하위 유형이 있습니다. 클래스룸 API는 과제, 단답형 질문, 객관식 질문의 세 가지 하위 유형을 지원합니다. 이러한 유형은 CourseWork.workType
필드로 표현됩니다.
CourseWork
리소스 외에도 StudentSubmission
리소스를 사용하여 완료된 작업을 관리할 수 있습니다.
Create CourseWork
CourseWork
는 과정의 교사를 대신해서만 만들 수 있습니다.
학생 또는 수업의 교사가 아닌 도메인 관리자를 대신하여 CourseWork
를 만들려고 하면 PERMISSION_DENIED
오류가 발생합니다. 클래스룸의 다양한 역할에 대해 자세히 알아보려면 사용자 유형을 참고하세요.
courses.courseWork.create
메서드를 사용하여 CourseWork
를 만들 때 아래 샘플 코드에 표시된 대로 링크를 materials
로 연결할 수 있습니다.
자바
Python
title
및 workType
필드는 필수입니다. 다른 입력란은 선택사항입니다.
state
이 지정되지 않으면 CourseWork
이 초안 상태로 생성됩니다.
지정된 타겟 url
가 있는 링크 리소스를 사용하여 CourseWork
에 연결된 자료를 포함합니다. 클래스룸은 title
및 썸네일 이미지 URL (thumbnailUrl
)을 자동으로 가져옵니다. 또한 클래스룸 API는 Google Drive 및 YouTube 자료를 기본적으로 지원하며, 이러한 자료는 DriveFile 리소스 또는 YouTubeVideo 리소스를 사용하여 유사한 방식으로 포함할 수 있습니다.
기한을 지정하려면 dueDate
및 dueTime
필드를 해당 UTC 시간으로 설정합니다. 마감일은 미래 날짜여야 합니다.
CourseWork
응답에는 다른 API 요청에서 할당을 참조하는 데 사용할 수 있는 서버 할당 식별자가 포함됩니다.
Retrieve CourseWork
해당 수업의 학생과 교사를 대신하여 CourseWork
를 가져올 수 있습니다. 도메인 관리자가 강의의 교사가 아니더라도 도메인 관리자를 대신하여 CourseWork
를 검색할 수 있습니다. 특정 CourseWork
를 가져오려면 courses.courseWork.get
를 사용합니다. 모든 CourseWork
를 검색하려면 (선택적으로 일부 기준과 일치) courses.courseWork.list
를 사용합니다.
필요한 범위는 요청하는 사용자가 강의에서 갖는 역할에 따라 달라집니다. 사용자가 학생인 경우 다음 범위 중 하나를 사용합니다.
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
사용자가 교사 또는 도메인 관리자인 경우 다음 범위 중 하나를 사용합니다.
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
CourseWork
를 가져올 수 있는 권한이 있다고 해서 자료 또는 자료 메타데이터에 액세스할 수 있는 권한이 있는 것은 아닙니다. 실제로 이는 관리자가 강의의 구성원이 아닌 경우 첨부된 Drive 파일의 제목이 표시되지 않을 수 있음을 의미합니다.
학생 응답 관리
StudentSubmission
리소스는 CourseWork
에 대해 학생이 수행한 작업을 나타냅니다. 리소스에는 작업 상태, 등급과 같은 작업 관련 메타데이터가 포함됩니다. 새 CourseWork
이 생성되면 각 학생에 대해 StudentSubmission
이 암시적으로 생성됩니다.
다음 섹션에서는 학생 응답을 관리하는 일반적인 작업을 설명합니다.
학생 응답 가져오기
학생은 자신의 제출물을 검색할 수 있고, 교사는 수업에 등록된 모든 학생의 제출물을 검색할 수 있으며, 도메인 관리자는 도메인에 등록된 모든 학생의 제출물을 검색할 수 있습니다. 각 StudentSubmission
에는 식별자가 할당됩니다. 식별자를 알고 있는 경우 courses.courseWork.studentSubmissions.get
를 사용하여 제출물을 가져옵니다.
다음 샘플과 같이 courses.courseWork.studentSubmissions.list
메서드를 사용하여 일부 기준과 일치하는 모든 StudentSubmission
리소스를 가져옵니다.
자바
Python
다음 샘플과 같이 userId
매개변수를 지정하여 특정 학생에게 속한 StudentSubmission
리소스를 가져옵니다.
자바
Python
학생은 Student
리소스에 표시된 대로 고유 ID 또는 이메일 주소로 식별됩니다. 현재 사용자는 "me"
약어를 사용하여 자신의 ID를 참조할 수도 있습니다.
수업 내 모든 과제의 학생 제출물을 가져올 수도 있습니다. 이렇게 하려면 다음 샘플과 같이 리터럴 "-"
를 courseWorkId
로 사용합니다.
자바
service.courses().courseWork().studentSubmissions()
.list(courseId, "-")
.set("userId", userId)
.execute();
Python
service.courses().courseWork().studentSubmissions().list(
courseId=<course ID or alias>,
courseWorkId='-',
userId=<user ID>).execute()
필요한 범위는 요청하는 사용자가 강의에서 갖는 역할에 따라 달라집니다. 사용자가 교사 또는 도메인 관리자인 경우 다음 범위를 사용합니다.
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.students
사용자가 학생인 경우 다음 범위를 사용합니다.
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/classroom.coursework.me
StudentSubmission
를 검색할 권한이 있다고 해서 첨부파일이나 첨부파일 메타데이터에 액세스할 권한이 있는 것은 아닙니다. 실제로 이는 관리자가 강의의 구성원이 아닌 경우 첨부된 Drive 파일의 제목이 표시되지 않을 수 있음을 의미합니다.
학생 응답에 첨부파일 추가하기
Link
, DriveFile
또는 YouTubeVideo
리소스를 첨부하여 학생 제출물에 링크를 첨부할 수 있습니다. 다음 샘플과 같이 courses.courseWork.studentSubmissions.modifyAttachments
를 사용하여 이를 실행합니다.
자바
Python
Link
첨부파일은 타겟 url
로 정의됩니다. 클래스룸은 title
및 썸네일 이미지 (thumbnailUrl
)를 자동으로 가져옵니다. StudentSubmissions
에 첨부할 수 있는 자료에 관해 알아보려면 Material
를 참고하세요.
StudentSubmission
는 수업 교사 또는 소유한 학생만 수정할 수 있습니다. StudentSubmission
의 CourseWorkType
이 ASSIGNMENT
인 경우에만 Materials
를 연결할 수 있습니다.
필요한 범위는 요청하는 사용자가 강의에서 갖는 역할에 따라 달라집니다. 사용자가 교사인 경우 다음 범위를 사용합니다.
https://www.googleapis.com/auth/classroom.coursework.students
사용자가 학생인 경우 다음 범위를 사용합니다.
https://www.googleapis.com/auth/classroom.coursework.me