클래스룸과 서드 파티 도구를 모두 활용하는 교사는 여러 플랫폼에서 수업과 출석부를 설정하는 데 어려움을 겪습니다. CSV 업로드를 사용하거나 이메일을 하나씩 입력하는 등 수동으로 할 수 있습니다. 하지만 Classroom 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
- 교사 및 학생의 email 속성에 대한 읽기 액세스 권한을 제공합니다.
Pub/Sub 알림으로 명단 동기화
학년이 진행되면 학생이 수업을 삭제하거나 추가함에 따라 출석부가 변경될 수 있습니다. Pub/Sub 알림을 추가하면 서드 파티 애플리케이션을 클래스룸 수업 명단과 동기화된 상태로 유지할 수 있습니다. 알림을 수신하려면 Google Cloud Pub/Sub 주제를 설정한 다음 Classroom API에 주제를 등록합니다. 이 등록은 클래스룸에서 지정된 피드의 데이터를 지정된 주제에 전송하도록 요청하는 것입니다. 이 피드는 교사의 클래스룸 명단과 다시 동기화하기 위한 이벤트 트리거가 됩니다.
푸시 알림을 사용하려면 확인을 위해 제출할 필요가 없는 추가 범위 하나가 필요합니다.
- https://www.googleapis.com/auth/classroom.push-notifications
- 앱이 푸시 알림 활동을 등록하도록 허용
클래스룸 푸시 알림과 통합하는 방법에 관한 자세한 내용은 푸시 알림 관리 가이드를 참고하세요.