API 구조

이 가이드에서는 Google 클래스룸 API를 구성하는 기본 구성요소를 간략하게 설명합니다. Google Classroom API는 리소스서비스로 구성됩니다. 리소스는 강의나 과제와 같은 Google 클래스룸의 항목을 나타내며 서비스는 이러한 리소스를 검색하고 관리합니다. 이러한 항목 중 일부에는 클래스룸에 있는 속성 외에도 API에만 해당하는 추가 속성이 있습니다. 기본 항목 유형은 다음과 같습니다.

항목 클래스룸에 표시되는 방식
과정 'M. 4교시 수학'
별칭 과정의 대체 ID입니다.
초대 수업에 사용자를 추가하는 방법입니다.
학생 수업을 듣고 있는 학생
교사 수업 중인 교사
사용자 프로필 보다 일반적인 관점에서 학생 또는 교사의 맥락을 벗어난 사용자입니다.
CourseWork 수업의 과제
StudentSubmissions 학생이 답변이나 워크시트와 같은 특정 과제에 대해 작업합니다.
CourseWorkMaterials 수업에 참여하는 학생을 위한 자료입니다.
공지사항 수업의 학생을 대상으로 한 공지사항입니다.
AddOnAttachment 일반적으로 삽입된 iframe으로 표시되는 과제 또는 자료의 콘텐츠 또는 활동입니다.
주제 수업의 과제와 자료를 시각적으로 그룹화한 것입니다.
등록 수업 출석부와 같은 데이터 변경사항에 관한 알림을 앱에 전송하는 안내입니다.

대부분의 리소스에는 리소스 인스턴스 읽기, 업데이트, 삭제와 같은 표준 작업을 위한 서비스 메서드가 있습니다. 일부 리소스에는 특정 과제가 할당된 학생 목록을 수정하는 등 다른 작업을 위한 맞춤 메서드도 있습니다.

API 리소스 및 메서드에 관한 자세한 내용은 Classroom API 참조를 참고하세요.

리소스 관계 개요

  • 과정은 Google 클래스룸의 기본 데이터 객체입니다.
  • 별칭Courses의 대체 식별자로 사용됩니다.
  • 초대사용자 프로필Course교사 또는 학생으로 초대하는 데 사용되지만 Google Workspace for Education 도메인 관리자가 사용자를 직접 추가할 수도 있습니다.
  • 교사는 스트림 항목을 만들고 수업의 학생과 공유할 수 있습니다. 가능한 스트림 항목 유형은 Coursework, CourseWorkMaterials, Announcements입니다. CourseWorkCourseWorkMaterialsTopics로 시각적으로 구성될 수 있으며 AddOnAttachments를 포함할 수 있습니다. 학생이 CourseWorkStudentSubmissions를 제출합니다.
  • 개발자는 등록을 만들어 이러한 데이터 중 일부가 변경될 때 알림을 받을 수 있습니다.

Google 클래스룸은 Google Workspace for Education을 구독하는 도메인에서 사용할 수 있습니다. 클래스룸 컨텍스트의 도메인은 일반적으로 학교를 나타냅니다. 개발 목적으로 Google Workspace for Education 테스트 도메인을 만들면 실제 사용자에게 영향을 주지 않고 클래스룸의 프로덕션 인스턴스를 제어할 수 있습니다.

과정 및 별칭

Courses는 클래스를 나타냅니다(예: 'M. '스미스의 4교시 수학'과 할당된 교사, 학생 명단, 메타데이터를 각 과정은 서버에서 할당한 고유한 ID로 식별됩니다. Course 리소스는 특히 이름, 설명, 위치, 시간과 같은 과정에 관한 모든 메타데이터를 캡슐화합니다. 과정 출석부는 학생, 교사, 초대 리소스와 해당 메서드를 통해 관리됩니다.

Aliases는 과정과 연결될 수 있으며 고유 ID 대신 사용되는 클래스의 대체 식별자입니다. 각 별칭은 누가 별칭을 만들고 볼 수 있는지 제한하는 네임스페이스에 존재합니다. 두 가지 네임스페이스가 지원됩니다.

  • 도메인: 도메인 네임스페이스는 모든 사용자가 액세스해야 하지만 특정 프로그램에만 국한되지 않는 별칭을 만드는 데 유용합니다. 예를 들어 MATH 127 및 COMSCI 127과 같은 과정의 대체 등록정보는 도메인 네임스페이스에 만들어야 합니다. 도메인 네임스페이스의 별칭은 도메인 관리자만 만들 수 있지만 도메인의 모든 사용자에게 표시됩니다.
  • 개발자 프로젝트: 개발자 프로젝트 네임스페이스는 애플리케이션과 관련된 별칭을 관리하는 데 유용합니다. 예를 들어 과정에 대한 대체 식별자를 사용하는 애플리케이션은 별칭을 만들어 식별자를 클래스룸 과정에 매핑할 수 있습니다. 이 네임스페이스에서 생성된 별칭은 특정 Google API 콘솔에 연결됩니다. 애플리케이션의 모든 사용자는 애플리케이션의 개발자 프로젝트에 대한 네임스페이스에서 별칭을 만들고 볼 수 있습니다.

과정 메타데이터 및 별칭 관리에 대한 자세한 내용은 과정 관리를 참고하세요.

과정 명단 및 사용자

StudentsTeachers는 사용자 프로필과 과정 간의 특정 매핑으로, 해당 사용자의 과정 내 역할을 나타냅니다. 학생 및 교사 지정은 전역이 아닙니다. 한 수업에서는 교사로, 다른 수업에서는 학생으로 할당될 수 있습니다. '학생' 또는 '교사' 지정은 특정 과정의 특정 사용자에 대한 권한 집합을 나타냅니다.

학생

Student 리소스는 특정 과정에 학생으로 등록된 사용자를 나타냅니다.

학생은 해당 과정의 과정 세부정보와 교사를 볼 수 있습니다.

교사

Teacher 리소스는 특정 과정을 가르치는 사용자를 나타냅니다.

교사는 강의 세부정보를 보고 변경하고, 교사와 학생을 확인하고, 추가 교사와 학생을 관리할 수 있습니다.

Invitations 및 관련 메서드는 학생과 교사를 과정에 추가하는 편리한 방법을 제공합니다. 초대를 만들면 교사 및 학생 리소스를 통해 직접 추가하는 대신 사용자가 과정에 참여할지 여부를 선택할 수 있습니다.

UserProfilesDirectory API에서 반환된 사용자의 고유 ID 또는 이메일 주소로 식별되는 사용자의 도메인 프로필에 대한 매핑을 나타냅니다. 현재 사용자는 "me" 약어를 사용하여 자신의 ID를 참조할 수도 있습니다.

UserProfiles 서비스는 학생과 보호자 간의 매핑인 Guardians를 관리하고 초대하는 데도 사용할 수 있습니다. 클래스룸의 보호자는 과제와 같은 일부 학생 정보에 액세스할 수 있습니다.

명단 관리에 관한 자세한 내용은 교사 및 학생 관리를 참고하세요.

과제 및 학생 제출물

CourseWork 항목은 과정의 학생 그룹에 할당된 단일 과제를 나타냅니다. 여기에는 설명, 기한, 자료와 같은 세부정보와 생성 시간과 같은 메타데이터가 포함됩니다. 자료에는 제목, 썸네일, URL은 물론 적절한 API (예: Drive, YouTube)와 함께 사용할 수 있는 식별자가 포함됩니다.

CourseWork 항목은 다음 작업 유형 중 하나를 설명합니다.

  • 학생이 워크시트 또는 다른 첨부파일을 제출하여 완료하는 과제입니다.
  • 단답형 질문 또는 객관식 질문

CourseWork 항목의 학생 과제는 StudentSubmission로 표시됩니다. 응답과 주 및 할당된 성적과 같은 추가 메타데이터로 구성됩니다.

StudentSubmission의 콘텐츠는 상응하는 CourseWork 항목의 유형에 따라 다릅니다.

  • 과제에 제출된 워크시트 및 첨부파일(제목, 썸네일, URL 포함)과 Drive 또는 YouTube와 같은 적절한 API에서 사용할 수 있는 식별자입니다.
  • 단답형 질문 또는 객관식 질문에 대한 응답입니다.

과제 및 학생 제출물 관리에 대한 자세한 내용은 과제 관리를 참고하세요.

강의 자료 및 공지사항

CourseWork와 마찬가지로 CourseWorkMaterials은 과정의 학생 그룹에 할당된 콘텐츠를 나타내며, 제목 및 설명과 같은 세부정보와 자료가 포함됩니다. 그러나 CourseWork과 달리 CourseWorkMaterials에서는 학생이 아티팩트를 제출할 필요가 없습니다. 따라서 마감일이 없으며 CourseWorkMaterialsStudentSubmissions가 없습니다. 예를 들어 교사는 CourseWorkMaterials를 사용하여 추천 읽기 자료, 강의 계획서, 수업 규칙을 게시할 수 있습니다.

Announcements는 학생 그룹과 공유된 콘텐츠를 나타내기도 하지만 제목과 같은 세부정보가 없으며 CourseWork 또는 CourseWorkMaterials와 같이 Topics로 정리할 수 없습니다. 교사는 이를 사용하여 학급에 알림이나 공지를 할 수 있습니다.

주제

Topics는 클래스 내에서 CourseWorkCourseWorkMaterials를 시각적으로 구성하는 데 사용됩니다. 예를 들어 할당을 '선택사항'과 '필수' 또는 '단위 1'과 '단위 2'로 그룹화하는 데 사용할 수 있습니다.

클래스룸 부가기능

부가기능은 개발자가 제공하는 UI 및 백엔드로 일반적으로 iframe에 표시됩니다. 부가기능은 스트림 항목에 첨부파일로 표시됩니다. 스트림 항목은 Announcements, CourseWork 또는 CourseWorkMaterials일 수 있습니다. 부가기능 첨부파일은 AddOnAttachment로 표시됩니다.

부가기능 첨부파일은 활동 또는 콘텐츠일 수 있습니다.

  • 활동 첨부파일의 경우 학생이 개별 제출물을 작성하고 제출해야 합니다. 퀴즈, 그림, 게임 등을 예로 들 수 있습니다. 활동 제출물은 원하는 경우 채점할 수 있습니다.
  • 콘텐츠 첨부파일에는 학생 제출이 필요하지 않습니다. 학생은 첨부파일을 제출할 필요가 없으며 첨부파일의 성적은 부여되지 않습니다. 사진, 기사, 동영상 등이 여기에 해당합니다.

자세한 내용은 부가기능 개발 가이드를 참고하세요.

등록

애플리케이션은 Google 클래스룸에서 특정 데이터가 변경될 때 알림을 구독할 수 있습니다. 예를 들어 과정 출석부가 업데이트된 경우입니다. Registrations는 이러한 알림을 애플리케이션에 전송하는 안내를 나타냅니다.

자세한 내용은 푸시 알림 가이드를 참고하세요.