개요

Classroom API는 Google 클래스룸에서 과정 및 출석부를 관리할 수 있는 RESTful 인터페이스를 제공합니다. 또한 클래스룸 공유 버튼을 사용하면 개발자와 콘텐츠 소유자가 클래스룸에 콘텐츠를 공유할 수 있습니다.

누가 API를 사용할 수 있나요?

Google Workspace for Education 도메인 관리자는 이 API를 사용하여 교사를 대신하여 프로그래매틱 방식으로 과정을 프로비저닝하고, 학생 정보 시스템을 클래스룸과 동기화하고, 도메인에서 강의하는 수업에 대한 기본적인 가시성을 얻을 수 있습니다.

애플리케이션 개발자는 Classroom API를 사용하여 앱을 클래스룸과 통합할 수 있습니다. 이러한 앱에서는 OAuth 2.0을 사용하여 교사에게 수업 및 출석부를 볼 수 있는 권한을 요청해야 합니다. 도메인의 교사와 학생이 Google 클래스룸 데이터에 액세스하도록 앱을 승인할 수 있는지 관리자가 제한할 수 있습니다.

웹사이트 소유자 및 콘텐츠 개발자는 클래스룸 공유 버튼을 사용하여 학생과 교사가 다시 클래스룸에 콘텐츠를 공유하도록 할 수 있습니다.

모든 API 및 클래스룸 공유 버튼 통합은 클래스룸 브랜드 가이드라인을 따라야 합니다.

API 개요

Classroom API는 Classroom 인터페이스의 수업, 교사, 학생에 해당하는 여러 항목 유형으로 구성됩니다. 이러한 항목 중 일부에는 클래스룸에 있는 것 외에 API와 관련된 추가 속성이 있습니다. 기본 항목 유형은 다음과 같습니다.

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

강의 메타데이터 및 별칭

학습 프로그램은 'M. Smith의 4학년 수학'과 할당된 교사, 학생 출석부, 메타데이터를 확인할 수 있습니다. 각 과정은 서버에서 할당한 고유 ID로 식별됩니다. 과정 리소스는 이름, 설명, 위치, 시간과 같은 과정에 대한 모든 메타데이터를 구체적으로 캡슐화합니다. 과정 출석부는 학생, 교사, 초대 리소스 및 관련 메서드를 통해 관리됩니다.

별칭은 강의와 연결되어 고유 ID 대신 사용될 수 있는 클래스의 대체 식별자입니다. 각 별칭은 별칭을 만들고 볼 수 있는 사용자를 제한하는 네임스페이스에 있습니다. 두 가지 네임스페이스가 지원됩니다.

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

강의 메타데이터 및 별칭 관리에 대한 자세한 내용은 강의 관리를 참조하세요.

과정 출석부 및 사용자

학생교사는 사용자 프로필과 교육 과정 간의 특정 매핑으로, 수업에서 해당 사용자의 역할을 나타냅니다. 학생과 교사의 지정은 전 세계적으로 적용되지 않습니다. 한 명의 사용자를 한 강의에서는 교사로, 다른 과정의 학생으로 지정할 수 있습니다. '학생' 또는 '교사' 지정은 특정 과정의 특정 사용자에게 부여되는 권한 집합을 나타냅니다.

학생
학생 리소스는 특정 과정에 학생으로 등록된 사용자를 나타냅니다. 학생은 과정 세부정보와 해당 과정의 교사를 볼 수 있습니다.
교사
교사 리소스는 특정 과정을 가르치는 사용자를 나타냅니다. 교사는 과정 세부정보를 확인 및 변경하고, 교사와 학생을 보고, 추가 교사와 학생을 관리할 수 있습니다.

초대 및 관련 메서드를 사용하면 수업에 학생과 교사를 편리하게 추가할 수 있습니다. 초대를 만들면 교사와 학생의 리소스를 통해 직접 추가하는 대신 사용자가 강의 참여 여부를 선택할 수 있습니다.

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

출석부 관리에 대한 자세한 내용은 교사 및 학생 관리를 참조하세요.

수업 과제 및 학생 제출물

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

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

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

CourseWork 항목의 학생 과제물은 StudentSubmission으로 표시됩니다. 응답과 추가 메타데이터(예: 상태 및 할당된 성적)로 구성됩니다.

StudentSubmission의 콘텐츠는 해당 CourseWork 항목의 유형에 따라 다릅니다.

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

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

빠른 시작

환경을 설정하고 API를 바로 시작하려면 빠른 시작 중 하나를 사용해 보세요.

Classroom API 탐색기로 실험하기

실시간 데이터에서 호출 방법을 실험하려면 클래스룸 API 탐색기를 사용해 보세요. 코드를 작성하지 않고도 시작할 수 있지만 API 탐색기를 사용하여 수행하는 작업은 기존 데이터를 수정할 수 있습니다.

메서드 호출을 시작하는 한 가지 방법은 courses.list() 메서드를 호출하는 것입니다. 이 메서드에는 요청 매개변수가 필요하지 않으며, 반환된 과정 목록에서 id를 검색하여 다른 API 호출의 요청 매개변수로 사용할 수 있습니다. 과정이 없는 경우 courses.create() 메서드를 사용하여 과정을 만들 수 있습니다.

API 참조도 살펴볼 수 있습니다.