Google Classroom の生徒と教師の役割は、コースにおけるユーザーの役割を表します。ユーザーは、あるコースでは教師として、別のコースでは生徒として割り当てることができます。「生徒」または「教師」という指定は、特定のコース内の特定のユーザーに対する一連の権限を表します。
- 学生
Student
リソースは、特定のコースの生徒として登録されているユーザーを表します。生徒は、コースの詳細とそのコースの教師を表示できます。- 教師
Teacher
リソースは、特定のコースを教えるユーザーを表します。教師は、コースの詳細の表示と変更、教師と生徒の表示、追加の教師と生徒の管理を行うことができます。各コースにはメインの教師(コース オーナー)がいます。コース オーナーは、コースの所有権の移行などの設定を管理できる教師です。
生徒と教師は、Directory API から返されるユーザーの一意の ID またはメールアドレスで識別されます。現在のユーザーは、"me"
の省略形を使用して自分の ID を参照することもできます。
Classroom API を使用した直接管理権限
Classroom API を使用してコースにユーザーを直接追加または削除する場合、管理者、生徒、教師の権限は異なります。
管理者
ドメイン管理者は、次の条件を満たしている場合に、招待フローをバイパスして生徒と教師をコースに直接追加できます。
- 追加するユーザーが管理者のドメインに属している。
- コースの主担任(コース オーナー)が管理者のドメインに属している。
管理者のドメイン外のユーザーまたはコースの場合、アプリケーションは invitations.create()
メソッドを使用して招待状を送信し、ユーザーの同意を得る必要があります。
学生
生徒は、students.create()
を呼び出してコースの enrollmentCode
を指定することによって、コースに自分自身を追加できます。enrollmentCode
は、Course
リソースに含まれるコースの一意の識別子です。Classroom ウェブ アプリケーションでは、ストリームタブとコースの詳細ページで enrollmentCode
を使用できます。
教師
教師はユーザーをコースに直接追加することはできません。invitations.create()
メソッドを使用して、生徒や他の教師をコースに招待する必要があります。
次の表に、Teacher
リソースと Student
リソースの create
メソッドと delete
メソッドへのリクエストを送信できるユーザーを示します。
管理者 | 教師 | 学生 | |
---|---|---|---|
CreateTeacher |
✔️ | ✖️ | ✖️ |
DeleteTeacher |
✔️ | ✔️ | ✖️ |
CreateStudent |
✔️ | ✖️ | ✔️ 1 |
DeleteStudent |
✔️ | ✔️ | ✔️ 2 |
1 生徒はコースに自分自身を追加することのみできます。
2 生徒はコースから自分自身を削除することのみできます。
教師を管理する
ドメイン管理者は、次のサンプルに示すように、teachers.create()
を使用して、ドメイン内の教師をコースに直接追加できます。
副担任は、teachers.delete()
メソッドを使用して、コースから他の教師を削除できます。これにより、指定された教師がコースから削除されるだけで、他のコースへの割り当てやユーザー プロフィールには影響しません。
コース所有者の管理
ドメイン管理者は、教師間でコースのオーナー権限を移行できます。重要な詳細については、コース オーナーを更新するをご覧ください。
生徒を管理する
ドメイン管理者は、students.create()
メソッドを使用して、ドメイン内の生徒を直接追加できます。生徒がコースに直接追加する場合は、enrollmentCode
が必要です。
students.delete()
メソッドを使用してコースから生徒を削除すると、指定したコースからのみ削除され、他のコースへの登録やユーザー プロフィールには影響しません。
ユーザーのコースを取得する
生徒または教師のコースのリストを取得するには、courses.list()
を呼び出し、対応するユーザーの studentId
または teacherId
を指定します。
ユーザーのプロフィールを取得する
ID や名前など、ユーザーのプロフィールを取得するには、ユーザーの ID、メールアドレス、またはリクエスト元のユーザーの「me」を指定して userProfiles.get()
を呼び出します。emailAddress
フィールドを取得するには、classroom.profile.emails
スコープを含める必要があります。
返された id
は、一致する studentId
または teacherId
を含む Directory API Users リソースに対応しています。