클래스룸과 서드 파티 도구를 모두 활용하는 교사는 여러 플랫폼에서 강의와 출석부를 설정하는 데 어려움을 겪습니다. 이 작업은 CSV 업로드를 사용하거나 이메일을 하나씩 입력하여 수동으로 수행할 수 있습니다. 하지만 클래스룸 API를 사용하면 서드 파티 도구가 API의 가장 일반적인 사용 사례인 출석부 가져오기 와 통합하여 교사의 작업량을 줄일 수 있습니다.
출석부 가져오기를 사용하면 서드 파티 플랫폼이 교사 또는 관리자 권한 으로 과정별로 과정의 메타데이터, 교사, 학생을 가져올 수 있습니다. 교사는 자신이 가르치는 과정의 세부정보를 가져올 수 있지만 관리자는 전체 도메인의 모든 과정 에 대한 세부정보에 액세스할 수 있습니다. 이러한 유연성을 통해 개발자는 관리자 사용자 인증 정보를 사용하여 개별 교사 수준 또는 전체 도메인에서 클래스룸 출석부를 플랫폼에 원활하게 온보딩할 수 있습니다.
출석부 가져오기 통합의 기술적 세부정보를 살펴보기 전에 먼저 워크플로 예를 검토해 보겠습니다.
서드 파티 애플리케이션에서 교사는 클래스룸 과정을 가져오는 옵션을 선택합니다.
서드 파티 애플리케이션은 클래스룸 API를 통해
courses.list메서드를 호출합니다. 그러면 교사의 모든 과정이 포함된 JSON 응답이 반환됩니다.JSON 응답에서 서드 파티 애플리케이션은 교사가 과정을 선택할 수 있도록 과정 제목을 표시합니다. 애플리케이션은 다음 단계를 진행하기 위해 과정 ID를 추적해야 합니다.
선택한 과정 ID를 사용하여 서드 파티 애플리케이션은
students.list및teachers.list메서드를 호출하고 교사가 가져오기를 확인할 수 있도록 웹사이트에 모든 이름을 표시합니다.students.list및teachers.list응답 JSON에서 반환된 이메일을 사용하여 서드 파티 애플리케이션은 사용자를 플랫폼의 새로 가져온 강의에 초대합니다.
워크플로에 언급된 각 메서드의 경우 API 탐색기를 사용하여 각 메서드의 동작 방식을 정확하게 확인할 수 있습니다. 이 가이드를 완료하기 전에 다음 사전 읽기 자료를 읽어보는 것이 좋습니다.

시작하기
클래스룸 출석부 가져오기의 세부정보를 구현하기 전에 API를 통해 가져와야 하는 과정 및 사용자 정보를 결정해야 합니다. 참고 문서에서 사용 가능한 과정 메타데이터를 확인할 수 있지만 필요한 필수 또는 일반 필드는 아래에 요약되어 있습니다.
| 필드 | 사용 |
|---|---|
| id | 학생 또는 교사를 가져오는 API 요청에 필요합니다. |
| 이름 | 사용자의 편의를 위해 권장됩니다(예: 웹사이트에 표시). |
| ownerId | 도메인 전체에서 가져올 때 과정의 기본 교사를 올바르게 식별하는 데 필요합니다. |
이 과정 정보는 위의 워크플로의 courses.list 단계에서 가져옵니다. 이 요청에서 특정 요청 매개변수를 지정할 수 있습니다. 이 메서드에 필수 인 매개변수는 없지만 권장되는 매개변수는 다음과 같습니다.
| 파라미터 | 사용 |
|---|---|
| courseState | 지정하지 않으면 API는 6가지 과정 상태의 모든 과정을 반환합니다. 교사가 현재 사용 중인 과정을 가져오려면 ACTIVE를 지정하는 것이 좋습니다. |
| pageSize | 자신의 과정을 가져오는 교사의 경우 API 호출의 응답 시간을 줄이기 위해 작은 (10 미만) pageSize를 지정하는 것이 좋습니다. |
| pageToken | 페이지 요청을 사용하는 경우에 필요합니다. |
| teacherId | 도메인 관리자가 과정을 가르치는 경우가 많으므로 권장됩니다. 지정하지 않으면 요청은 전체 도메인의 교사 과정을 반환합니다. |
| 필드 | API 호출의 응답 시간을 줄이는 것이 좋습니다. |
이전에 가져온 과정 ID를 사용하여 애플리케이션은 이제 해당 과정의 학생 및 동료 교사 목록을 가져올 수 있습니다. 이 과정 ID는 teachers.list 및 students.list에 필요한 유일한 쿼리 매개변수이지만 마찬가지로 pageSize 및 fields 매개변수를 지정하여 API 호출의 응답 시간을 줄이는 것이 좋습니다.
학생 및 교사 리소스에 사용할 수 있는 모든 필드는 각 문서에서 확인할 수 있습니다. 가장 흔히 사용되고 일반적으로 필요한 두 가지 필드는 profile 필드에 있는
profile.name 및 profile.emailAddress입니다.
| 필드 | 사용 |
|---|---|
| profile.name | 사용자의 편의를 위해 권장됩니다(예: 웹사이트에 표시). |
| profile.emailAddress | 학생을 고유하게 식별하려는 애플리케이션에 필요합니다. |
클래스룸에서 이러한 과정 또는 출석부 세부정보를 가져와서 사용하려면 애플리케이션에서 사용자에게 승인을 요청해야 합니다. 이 워크플로를 구현하려면 세 가지 필수 범위가 있습니다.
- https://www.googleapis.com/auth/classroom.courses.readonly
- Google 클래스룸 과정 에 대한 읽기 전용 액세스 권한을 제공합니다.
- https://www.googleapis.com/auth/classroom.rosters.readonly
- Google 클래스룸 과정(_교사_ 및 학생)의 출석부 에 대한 읽기 전용 액세스 권한을 제공합니다.
- https://www.googleapis.com/auth/classroom.profile.emails
- 교사 및 학생의 이메일 속성에 대한 읽기 액세스 권한을 제공합니다.
Pub/Sub 알림으로 출석부 동기화
학기가 진행됨에 따라 학생이 과정을 삭제하거나 추가하면 출석부가 변경될 수 있습니다. Pub/Sub 알림 을 추가하면 서드 파티 애플리케이션을 클래스룸 출석부와 동기화할 수 있습니다. 알림을 수신하려면 Google Cloud Pub/Sub 주제를 설정한 다음 클래스룸 API에 주제를 등록합니다. 이 등록은 클래스룸에서 지정된 피드의 데이터를 지정된 주제로 전송하도록 요청하는 것입니다. 이 피드는 교사의 클래스룸 출석부와 다시 동기화하기 위한 이벤트 트리거가 됩니다.
푸시 알림을 활용하려면 인증을 위해 제출할 필요가 없는 추가 범위가 하나 더 필요합니다.
- https://www.googleapis.com/auth/classroom.push-notifications
- 앱에서 푸시 알림 활동을 등록할 수 있습니다.

클래스룸 푸시 알림과 통합하는 방법에 관한 자세한 내용은 푸시 알림 관리 가이드를 참고하세요.