클래스룸 UI는 과제,
퀴즈 과제, 단답형 질문, 객관식 질문
자료. Classroom API는 현재 다음 세 가지 유형을 지원합니다.
API: 과제 도구, 단답형의 CourseWorkType
입니다.
객관식 문제입니다.
이 기능에 액세스하려면 CourseWork 리소스, 이는 모든 추가 자료 및 세부정보(예: 마감일 미정)를 포함하여 지정할 수 있습니다.
CourseWork 리소스 외에도 완료된 과제를 관리할 수 있습니다.
StudentSubmission
리소스를 사용합니다. 다음 섹션에서는 이러한 사항을 설명합니다.
더 자세히 살펴보겠습니다
과제 만들기
과제는 강의의 교사를 대신만 만들 수 있습니다.
학생을 대신하여 강의에서 과제를 만들려고 하면
403 PERMISSION_DENIED
오류 발생 마찬가지로 도메인 관리자는
자신이 가르치지 않는 강의에 대한 과제 및 API를 통해 그러한 작업을 수행하려는 경우
403 PERMISSION_DENIED
오류도 발생합니다.
courses.courseWork.create
메서드를 사용하여 할당을 만들 때는
아래 샘플 코드와 같이 링크를 materials
로 첨부할 수 있습니다.
자바
Python
결과에는 서버에서 할당한 식별자가 포함되며 다른 API 요청에서 할당될 수 있습니다.
Classroom API를 통해 만든 과제에 연결된 자료를 포함하려면 다음 단계를 따르세요. 링크 리소스를 사용하여 타겟 URL입니다. 클래스룸에서 제목과 썸네일 이미지를 자동으로 가져옵니다. Classroom API는 기본적으로 Google Drive와 YouTube 자료를 지원하므로 DriveFile 리소스에 포함된 파일 YouTubeVideo resource를 유사한 있습니다.
마감일을 지정하려면 dueDate
및 dueTime
입력란을
해당 UTC 시간입니다. 마감일은 미래여야 합니다.
과제 및 질문 가져오기
다음 조직의 학생과 교사의 과제와 질문을 검색할 수 있습니다. 해당 과정 또는 도메인 관리자에 의해 결정됩니다. 특정 과제나 질문이 있는 경우 courses.courseWork.get을 사용합니다. 모두 검색하려면 선택적으로 일부 기준과 일치하는 경우) 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
과제나 질문을 검색할 수 있는 권한이 있다고 해서 자료 또는 자료 메타데이터에 대한 액세스 권한 실제로 이는 다음을 의미합니다. 관리자가 첨부된 드라이브 파일의 제목이 표시되지 않을 수도 있습니다. 학습할 수 있습니다 관리자가 자신의 사용자 계정에 액세스하도록 허용하려는 경우 자세한 내용은 도메인 전체 위임 참조하세요.
학생 응답 관리
StudentSubmission
리소스는 과제에 대한 학생의 과제물과 성적을 나타냅니다.
있습니다. StudentSubmission
새로운 질문이나 질문이 생기면 각 학생에게 암시적으로
확인할 수 있습니다.
다음 섹션에서는 학생의 응답을 관리하는 일반적인 작업을 설명합니다.
학생 응답 검색
학생은 자신이 제출한 과제를, 교사는 제출물을 가져올 수 있습니다.
액세스할 수 있으며 도메인 관리자는
제출할 수 있습니다. 각 학생이 제출한 과제는
식별자가 할당되고 식별자를 알고 있는 경우
courses.courseWork.studentSubmissions.get
를 클릭하여 가져옵니다.
courses.courseWork.studentSubmissions.list
메서드를 사용하여
일부 기준과 일치하는 StudentSubmission
리소스.
다음 샘플을 참조하세요.
자바
Python
다음 방법으로 특정 학생에게 속한 StudentSubmission
리소스를 검색합니다.
다음 샘플과 같이 userId
매개변수를 지정합니다.
자바
Python
학생은 사용자의 고유 ID 또는 이메일 주소로 다음과 같이 식별됩니다.
Google Admin SDK에서 반환합니다 현재 사용자는
"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
학생 제출물을 검색할 수 있는 권한이 있다고 해서 이는 첨부파일 또는 첨부파일 메타데이터에 대한 액세스 권한 실제로 이것은 관리자가 첨부된 드라이브 파일의 제목을 볼 수 없는 경우 과정의 구성원이 아닙니다 관리자 액세스 권한을 부여하려는 경우 사용자 파일에 대한 자세한 내용은 도메인 전체 위임 가이드를 참조하세요.
학생 응답에 첨부파일 추가하기
Link
을 첨부하여 학생 제출물에 링크를 첨부할 수 있습니다.
DriveFile
또는 YouTubeVideo
리소스입니다. 이 작업은
courses.courseWork.studentSubmissions.modifyAttachments
다음 샘플을 참조하세요.
자바
Python
링크 첨부 파일은 대상 URL에 의해 정의됩니다. 클래스룸은 자동으로 제목과 썸네일 이미지를 가져옵니다. 다른 자료에 대해서는 해당 참조 페이지에 표시됩니다.
StudentSubmission
는 교사 또는 다음 사용자만 수정할 수 있습니다.
소유권을 주장할 수 있습니다. 다음 경우에만 Materials
를 연결할 수 있습니다.
학생 제출물의 CourseWorkType
가 ASSIGNMENT
입니다.
필요한 범위는 요청하는 사용자가 오신 것을 환영합니다 사용자가 교사인 경우 다음 범위를 사용하세요.
https://www.googleapis.com/auth/classroom.coursework.students
사용자가 학생인 경우 다음 범위를 사용하세요.
https://www.googleapis.com/auth/classroom.coursework.me
학생 응답 상태 관리
학생 응답은 제출 취소, 제출 또는 반환될 수 있습니다. 상태 필드
StudentSubmission
는 현재 상태를 나타냅니다. 상태를 변경하려면
다음 방법 중 하나를 사용합니다.
courses.courseWork.studentSubmissions.turnIn
courses.courseWork.studentSubmissions.return
courses.courseWork.studentSubmissions.reclaim
이러한 메서드는 모두 빈 본문을 사용합니다. 예:
자바
Python
service.courses().courseWork().studentSubmission().turnIn(
courseId=<course ID or alias>,
courseWorkId=<courseWork ID>,
id=<studentSubmission ID>,
body={}).execute()
StudentSubmission
를 소유한 학생만 과제를 제출하거나 복원할 수 있습니다.
제출된 신청서만 복원할 수 있습니다. 강의 선생님은
제출 상태인 StudentSubmission
.
학생 응답 채점하기
StudentSubmission
리소스에는 성적을 저장하는 두 개의 필드가 있습니다.
학생에게 보고된 성적인 assignedGrade
및 draftGrade
교사에게만 표시되는 임시 성적입니다. 필드가 업데이트됨
필드 마스크와 함께 courses.courseWork.studentSubmissions.patch
사용
적절한 필드를 포함해야 합니다.
자바
Python
studentSubmission = {
'assignedGrade': 99,
'draftGrade': 80
}
service.courses().courseWork().studentSubmissions().patch(
courseId=<course ID or alias>,
courseWorkId=<courseWork ID>,
id=<studentSubmission ID>,
updateMask='assignedGrade,draftGrade',
body=studentSubmission).execute()
클래스룸 UI를 사용하는 경우 교사가 성적을 매기려면 임시 성적이 먼저 저장되었습니다. 그러면 할당된 성적을 다음 학생에게 돌려줄 수 있습니다. 학생입니다. 애플리케이션은 이 동작을 에뮬레이션해야 합니다. 애플리케이션은 다음 두 가지 방법 중 하나로 학생의 과제를 채점합니다.
draftGrade
만 할당합니다. 예를 들어 교사가 학생들에게 채점하기 전에 수동으로 성적을 검토할 수 있습니다 학생은 임시 성적을 볼 수 없습니다.과제를 완전히 채점하려면
draftGrade
및assignedGrade
을 모두 할당합니다.
할당된 성적 나열
특정 수업 과제 항목의 모든 성적을 표시하려면
courses.courseWork.studentSubmissions.list
메서드의 응답 객체:
자바
Python
response = coursework.studentSubmissions().list(
courseId=course_id,
courseWorkId=coursework_id,
pageSize=10).execute()
submissions.extend(response.get('studentSubmissions', []))
if not submissions:
print('No student submissions found.')
print('Student Submissions:')
for submission in submissions:
print(f"Submitted at:"
f"{(submission.get('userId'), submission.get('assignedGrade'))}")