Anda dapat menggunakan grup siswa untuk mengelompokkan siswa ke dalam grup tertentu untuk meningkatkan pengalaman mengajar, seperti tugas yang ditargetkan dan aktivitas kolaboratif. Gunakan Classroom API untuk membuat, mengubah, dan membaca grup siswa dalam kursus atas nama administrator dan pengajar.
Anda dapat membuat, memperbarui, menghapus, dan membaca grup siswa menggunakan metode berikut:
Anda juga dapat menambahkan, menghapus, dan membaca anggota dalam grup siswa menggunakan metode berikut:
Persyaratan pemberian lisensi dan kelayakan
Untuk membuat, mengubah, atau menghapus grup siswa dalam kursus dan menambahkan atau menghapus anggota dari grup siswa, kondisi berikut harus dipenuhi:
- Pengguna yang membuat permintaan harus menjadi pengajar dalam kursus atau administrator domain.
- Pengguna yang membuat permintaan harus memiliki lisensi Google Workspace for Education Plus yang ditetapkan untuknya.
- Pemilik kursus harus memiliki lisensi Google Workspace for Education Plus yang ditetapkan untuknya.
Membaca grup siswa dan anggotanya
Administrator dan pengajar kursus dapat membaca data grup siswa
terlepas dari lisensi yang ditetapkan kepada mereka. Artinya, permintaan
ke endpoint ListStudentGroups dan ListStudentGroupMembers diizinkan
atas nama administrator atau pengajar mana pun dalam kursus.
Prasyarat contoh kode
Panduan ini memberikan contoh kode dalam Python, dan mengasumsikan bahwa Anda memiliki hal berikut:
- Project Google Cloud. Anda dapat menyiapkannya dengan mengikuti petunjuk di Panduan memulai cepat Python.
- Menambahkan cakupan berikut ke layar izin OAuth project Anda:
https://www.googleapis.com/auth/classroom.rostershttps://www.googleapis.com/auth/classroom.rosters.readonlyuntuk endpoint hanya baca.
- ID kursus tempat grup siswa harus dikelola. Pemilik kursus harus memiliki lisensi Google Workspace for Education Plus.
- Akses ke kredensial pengajar atau administrator dengan lisensi Google Workspace for Education Plus.
Memeriksa kelayakan pengguna
Classroom API menyediakan endpoint userProfiles.checkUserCapability
untuk membantu Anda secara proaktif menentukan apakah pengguna dapat membuat dan
mengubah grup siswa dan anggotanya. Metode ini tersedia melalui
Program Pratinjau Developer. Jika Anda mengikuti panduan memulai Python sebagai
titik awal, siapkan layanan Classroom baru yang dapat mengakses
metode pratinjau:
Python
classroom_service_with_capability_endpoint = googleapiclient.discovery.build(
serviceName='classroom',
version='v1',
credentials=creds,
static_discovery=False,
discoveryServiceUrl='https://classroom.googleapis.com/$discovery/rest?labels=DEVELOPER_PREVIEW&key=API_KEY')
Endpoint userProfiles.checkUserCapability hanya mengevaluasi apakah
pengguna memenuhi syarat untuk menggunakan kemampuan tertentu, seperti mengubah grup
siswa. Tidak ada informasi tentang peran kursus. Misalnya,
meskipun pengguna memiliki kemampuan CREATE_STUDENT_GROUP, jika dia
adalah siswa dalam kursus, permintaan ke endpoint CreateStudentGroup
tidak akan berhasil.
Python
def check_student_groups_update_capability():
"""Checks whether a user is eligible to create and modify student groups."""
capability = classroom_service_with_capability_endpoint.userProfiles().checkUserCapability(
userId="me", # Can also be set to a different user's email address or ID
capability="CREATE_STUDENT_GROUP",
previewVersion="V1_20240930_PREVIEW" # Required while the method is in the DPP.
).execute()
if capability.get("allowed"): # Retrieve the `allowed` boolean from the response.
print("User is eligible to create and modify student groups.")
else:
print("User is not eligible to create and modify student groups.")
Mengelola grup siswa
Grup siswa dapat dibuat menggunakan endpoint CreateStudentGroup.
Python
def create_student_group(classroom_service, course_id):
body = {
"title": "Team Blue"
}
response = classroom_service.courses().studentGroups().create(
courseId=course_id,
body=body
).execute()
print(response)
Respons berisi id grup siswa yang baru dibuat, courseId, dan title grup siswa.
Grup siswa id dapat digunakan untuk memperbarui atau menghapus grup siswa individual.
Python
def update_student_group(classroom_service, course_id, student_group_id):
body = {
"title": "Team Green"
}
response = classroom_service.courses().studentGroups().patch(
courseId=course_id,
id=student_group_id,
body=body,
updateMask="title"
).execute()
print(response)
def delete_student_group(classroom_service, course_id, student_group_id):
response = classroom_service.courses().studentGroups().delete(
courseId=course_id,
id=student_group_id
).execute()
print(response)
Anda dapat mengambil grup siswa dalam kursus menggunakan
endpoint ListStudentGroups:
Python
def list_student_groups(classroom_service, course_id):
results = classroom_service.courses().studentGroups().list(
courseId=course_id
).execute()
studentGroups = results.get("studentGroups")
Mengelola anggota grup siswa
Setelah grup siswa berhasil dibuat, Anda dapat menambahkan anggota ke dalamnya.
Python
def add_student_group_member(classroom_service, course_id, student_group_id):
body = {
"userId": "student@schooldomain.com"
}
response = classroom_service.courses().studentGroups().studentGroupMembers().create(
courseId=course_id,
studentGroupId=student_group_id,
body=body
).execute()
print(response)
Jika Anda ingin menghapus anggota dari grup siswa, buat permintaan seperti berikut:
Python
def delete_student_group_member(classroom_service, course_id, student_group_id):
response = classroom_service.courses().studentGroups().studentGroupMembers().delete(
courseId=course_id,
studentGroupId=student_group_id,
userId="student@schooldomain.com"
).execute()
print(response)
Anda dapat membaca anggota dalam grup dengan membuat permintaan berikut:
Python
def list_student_group_members(classroom_service, course_id, student_group_id):
results = classroom_service.courses().studentGroups().studentGroupMembers().list(
courseId=course_id,
studentGroupId=student_group_id
).execute()
print(results.get("studentGroupMembers"))
Setiap resource StudentGroupMember mencakup courseId,
studentGroupId, dan userId anggota grup.