이 가이드에서는 Google Classroom API를 구성하는 기본 구성요소를 간략하게 설명합니다. Google Classroom API는 리소스와 서비스로 구성됩니다. 리소스는 Google 클래스룸의 항목(예: 수업 또는 과제)을 나타내며 서비스는 이러한 리소스를 가져오고 관리합니다. 이러한 엔티티 중 일부에는 클래스룸에 있는 속성 외에 API에 특정한 추가 속성이 있습니다. 기본 항목 유형은 다음과 같습니다.
항목 | 클래스룸의 표현 |
---|---|
강의 | 'M. Smith의 4교시 수학' |
별칭 | 수업의 대체 ID입니다. |
초대 | 수업에 사용자를 추가하는 수단입니다. |
학생 | 수업에 참여하는 학생입니다. |
교사 | 수업의 교사 |
사용자 프로필 | 학생 또는 교사의 맥락을 벗어난 일반적인 사용자입니다. |
CourseWork | 수업의 과제입니다. |
StudentSubmissions | 특정 과제에 대한 학생의 작업(예: 답변, 워크시트)입니다. |
CourseWorkMaterials | 수업에 참여하는 학생을 위한 자료입니다. |
공지사항 | 수업의 학생에게 보내는 공지사항입니다. |
AddOnAttachment | 과제 또는 자료의 콘텐츠 또는 활동으로, 일반적으로 삽입된 iframe으로 표시됩니다. |
주제 | 수업의 과제와 자료를 시각적으로 그룹화한 것입니다. |
등록 | 수업 출석부와 같은 데이터의 변경사항에 대한 알림을 앱에 전송하라는 안내입니다. |
대부분의 리소스에는 리소스 인스턴스를 읽고, 업데이트하고, 삭제하는 등의 표준 작업을 위한 서비스 메서드가 있습니다. 일부 리소스에는 특정 과제에 할당된 학생 목록을 수정하는 등 다른 작업을 위한 맞춤 메서드도 있습니다.
API 리소스 및 메서드에 관한 자세한 내용은 Classroom API 참조를 참고하세요.
리소스 관계 개요
- 수업은 Google 클래스룸의 기본 데이터 객체입니다.
- 별칭은
Courses
의 대체 식별자로 사용됩니다. - 초대는 사용자 프로필을
Course
의 교사 또는 학생으로 초대하는 데 사용되지만, Google Workspace for Education 도메인 관리자가 사용자를 직접 추가할 수도 있습니다. - 교사는 스트림 항목을 만들어 수업의 학생들과 공유합니다. 가능한 스트림 항목 유형은 과제, 과제 자료, 공지사항입니다.
CourseWork
및CourseWorkMaterials
는 시각적으로 주제로 정리할 수 있으며 AddOnAttachments를 포함할 수 있습니다. 학생은CourseWork
에 대한 StudentSubmissions를 제출합니다. - 개발자는 이러한 데이터 중 일부가 변경될 때 알림을 받기 위해 등록을 만들 수 있습니다.
Google 클래스룸은 Google Workspace for Education을 구독하는 도메인에서 사용할 수 있습니다. Classroom 컨텍스트의 도메인은 일반적으로 학교 지구를 나타냅니다. 개발 목적으로 Google Workspace for Education 테스트 도메인을 만들어 실제 사용자에게 영향을 주지 않고 클래스룸의 프로덕션 인스턴스를 제어할 수 있습니다.
과정 및 별칭
Courses
는 'M. Smith's 4th period math' 수업과 할당된 교사, 학생 출석부, 메타데이터를 가져옵니다. 각 과정은 서버에서 할당한 고유 ID로 식별됩니다. Course
리소스는 이름, 설명, 위치, 시간 등 과정에 관한 모든 메타데이터를 구체적으로 캡슐화합니다. 수업 출석부는 학생, 교사, 초대 리소스와 해당 메서드를 통해 관리됩니다.
Aliases
는 수업과 연결되고 고유 ID 대신 사용될 수 있는 수업의 대체 식별자입니다. 각 별칭은 별칭을 만들고 볼 수 있는 사용자를 제한하는 네임스페이스에 있습니다. 두 가지 네임스페이스가 지원됩니다.
- 도메인: 도메인 네임스페이스는 모든 사용자가 액세스해야 하지만 특정 프로그램에 속하지 않는 별칭을 만드는 데 유용합니다. 예를 들어 MATH 127 및 COMSCI 127과 같은 과정의 대체 등록정보는 도메인 네임스페이스에서 만들어야 합니다. 도메인 네임스페이스의 별칭은 도메인 관리자만 만들 수 있지만 도메인의 모든 사용자에게 표시됩니다.
- 개발자 프로젝트: 개발자 프로젝트 네임스페이스는 애플리케이션에 특정한 별칭을 관리하는 데 유용합니다. 예를 들어 과정에 대체 식별자를 사용하는 애플리케이션은 식별자를 클래스룸 과정에 매핑하는 별칭을 만들 수 있습니다. 이 네임스페이스에서 생성된 별칭은 특정 Google API 콘솔에 연결됩니다. 애플리케이션의 모든 사용자는 해당 애플리케이션의 개발자 프로젝트 네임스페이스에서 별칭을 만들고 볼 수 있습니다.
강의 메타데이터 및 별칭 관리에 대한 자세한 내용은 강의 관리를 참고하세요.
수업 명단 및 사용자
Students
및 Teachers
은 사용자 프로필과 과정 간의 특정 매핑으로, 과정에서 해당 사용자의 역할을 나타냅니다. 학생과 교사 지정은 전역적이지 않습니다. 사용자는 한 수업에서는 교사로 지정되고 다른 수업에서는 학생으로 지정될 수 있습니다. '학생' 또는 '교사' 지정은 특정 과정의 특정 사용자에 대한 권한 집합을 나타냅니다. 과정에는 교사가 두 명 이상 있거나 학생이 없을 수도 있습니다. 교사와 학생은 언제든지 과정에 추가하거나 과정에서 삭제할 수 있습니다.
- 학생
Student
리소스는 특정 수업에 학생으로 등록된 사용자를 나타냅니다.학생은 해당 수업의 세부정보와 교사를 볼 수 있습니다.
- 교사
Teacher
리소스는 특정 과정을 가르치는 사용자를 나타냅니다.교사는 수업 세부정보를 보고 변경하고, 교사와 학생을 보고, 추가 교사와 학생을 관리할 수 있습니다.
Invitations
및 관련 메서드는 학생과 교사를 과정에 추가하는 편리한 방법을 제공합니다. 초대를 만들면 교사 및 학생 리소스를 통해 직접 추가하는 대신 사용자가 강좌에 참여할지 여부를 선택할 수 있습니다.
UserProfiles
는 Directory API에서 반환된 사용자의 고유 ID 또는 이메일 주소로 식별되는 사용자 도메인 프로필에 대한 매핑을 나타냅니다. 현재 사용자는 "me"
약어를 사용하여 자신의 ID를 참조할 수도 있습니다.
UserProfiles
서비스는 학생과 보호자 간의 매핑인 Guardians
를 관리하고 초대하는 데도 사용할 수 있습니다. 클래스룸의 보호자는 과제와 같은 일부 학생 정보에 액세스할 수 있습니다.
명단 관리에 대한 자세한 내용은 교사 및 학생 관리를 참고하세요.
스트림 항목
스트림 항목은 게시된 콘텐츠로, 수업의 회원과 공유됩니다.
개발자와 교사는 Announcement
, CourseWork
, CourseWorkMaterial
의 세 가지 스트림 항목 유형을 만들 수 있습니다.
교사는 Classroom UI의 스트림 페이지 상단에서 Announcements
를 만듭니다. 교사는 수업 과제 탭에서 만들기 버튼을 클릭하여 CourseWork
및 CourseWorkMaterials
를 만듭니다.
개발자는 Classroom API를 통해 모든 스트림 항목 유형을 프로그래매틱 방식으로 만들 수 있습니다.
스트림 항목에 관한 설명 중 참인 것은 다음과 같습니다.
- 모든 스트림 항목에는 Google Drive 파일, YouTube 동영상, Google Forms, URL 하이퍼링크, Classroom 부가기능 첨부파일과 같은 보충 자료가 포함될 수 있습니다.
- 모든 스트림 항목은 과정에 등록된 학생 중 일부에게 할당할 수 있습니다.
CourseWork
은 채점되거나 채점되지 않을 수 있습니다. 교사는 언제든지CourseWork
과제의 채점 상태를 변경할 수 있습니다.- 스트림 항목에는 첨부파일이 두 개 이상 있을 수 있습니다.
- 스트림 항목에는 다양한 유형의 첨부파일이 있을 수 있습니다. 예를 들어 하나의
CourseWork
과제에 Google Drive 파일, YouTube 동영상, 클래스룸 부가기능 첨부파일이 동시에 있을 수 있습니다. - 스트림 항목에는 둘 이상의 개발자의 부가기능 첨부파일이 있을 수 있습니다.
- 개발자는 부가기능 첨부파일이 있는 스트림 항목 리소스에 관한 세부정보를 가져오고 수정할 수 있습니다.
- 개발자는 자신의 부가기능 첨부파일이 포함된
CourseWork
과제에 대해 학생 제출물을 제출하거나, 회수하거나, 반환할 수 있습니다. - 개발자는 자신이 만든 과제에서 개별 학생 제출물의 성적만 확정할 수 있습니다.
스트림 항목이 복사됨
교사는 수업을 복사하거나, 과제를 재사용하거나, 스트림 항목을 여러 수업에 게시하여 스트림 항목을 복사할 수 있습니다. 새 사본에는 고유한 식별자가 있으며, 이는 클래스룸 부가기능을 개발하는 경우 중요한 고려사항이 될 수 있습니다. 복사된 콘텐츠에 관한 가이드를 읽고 부가기능에서 이러한 시나리오를 처리하는 방법을 알아보세요.
CourseWork 및 StudentSubmissions
CourseWork
항목은 수업의 학생 그룹에 대한 과제를 나타냅니다. 학생 제출물을 수락할 수 있는 유일한 스트림 항목 유형입니다. CourseWork
리소스에는 설명, 기한, 최대 등급, 생성 시간과 같은 메타데이터 등의 세부정보가 포함됩니다.
각 CourseWork
리소스는 다음 유형의 작업을 설명합니다.
- 학생이 워크시트나 기타 첨부파일을 제출하여 완료하는 과제입니다.
- 단답형 질문 또는 객관식 질문
CourseWork
항목의 학생 과제는 StudentSubmission
로 표시됩니다. 대답과 상태, 할당된 등급과 같은 추가 메타데이터로 구성됩니다.
StudentSubmission
의 콘텐츠는 해당 CourseWork
항목의 유형에 따라 다르며 다음을 포함할 수 있습니다.
- 과제에 제출된 워크시트 및 첨부파일(제목, 썸네일, URL 포함)과 Drive 또는 YouTube와 같은 적절한 API와 함께 사용할 수 있는 식별자
- 단답형 질문 또는 객관식 질문에 대한 응답입니다.
과제 및 학생 제출물 관리에 대한 자세한 내용은 과제 관리를 참고하세요.
CourseWorkMaterials 및 Announcements
CourseWork
과 마찬가지로 CourseWorkMaterials
은 과정의 학생 그룹에 할당된 콘텐츠를 나타냅니다. 각 리소스에는 제목, 설명, 보충 자료와 같은 세부정보가 있습니다. 하지만 CourseWork
과 달리 CourseWorkMaterials
에서는 학생이 아티팩트를 제출할 필요가 없습니다. 따라서 마감일이 없으며 CourseWorkMaterials
에는 StudentSubmissions
이 없습니다. 교사는 CourseWorkMaterials
를 사용하여 추천 읽기 자료, 강의 계획서 또는 클래스룸 규칙을 게시할 수 있습니다.
Announcements
는 학생 그룹과 공유된 콘텐츠를 나타내기도 하지만 제목과 같은 세부정보가 없으며 CourseWork
또는 CourseWorkMaterials
와 같이 Topics
로 정리할 수 없습니다. 교사는 이를 사용하여 수업에 알림이나 공지사항을 알릴 수 있습니다.
주제
Topics
는 클래스 내에서 CourseWork
와 CourseWorkMaterials
를 시각적으로 정리하는 데 사용됩니다. 예를 들어 과제를 '선택' 및 '필수' 또는 '단원 1' 및 '단원 2'로 그룹화하는 데 사용할 수 있습니다.
클래스룸 부가기능
애드온은 일반적으로 iframe에 표시되는 개발자 제공 UI 및 백엔드입니다. 부가기능은 스트림 항목에 첨부파일로 표시됩니다. 스트림 항목은 Announcements
, CourseWork
또는 CourseWorkMaterials
일 수 있습니다. 부가기능 첨부파일은 AddOnAttachment
로 표시됩니다.
부가기능 첨부파일은 활동 또는 콘텐츠일 수 있습니다.
- 활동 첨부파일을 사용하려면 학생이 개별 제출물을 작성하여 제출해야 합니다. 예로는 퀴즈, 그림, 게임 등이 있습니다. 활동 제출은 선택적으로 평가할 수 있습니다.
- 콘텐츠 첨부파일에는 학생 제출이 필요하지 않습니다. 학생이 첨부파일을 제출할 필요가 없으며 평가되지 않습니다. 예로는 사진, 기사, 동영상이 있습니다.
자세한 내용은 부가기능 개발 가이드를 참고하세요.
등록
애플리케이션은 Google 클래스룸에서 특정 데이터가 변경될 때 알림을 구독할 수 있습니다. 예를 들어 강의의 명단이 업데이트되는 경우입니다.
Registrations
는 이러한 알림을 애플리케이션에 전송하라는 명령어를 나타냅니다.
자세한 내용은 푸시 알림 가이드를 참고하세요.