Vous pouvez répartir vos élèves dans des groupes spécifiques pour améliorer votre enseignement, par exemple en leur assignant des devoirs ciblés et en organisant des activités collaboratives. Utilisez l'API Classroom pour créer, modifier et lire des groupes d'élèves dans un cours au nom des administrateurs et des enseignants.
Vous pouvez créer, mettre à jour, supprimer et lire des groupes d'élèves à l'aide des méthodes suivantes :
Vous pouvez également ajouter, supprimer et lire des membres dans un groupe d'élèves à l'aide des méthodes suivantes :
Accéder aux méthodes des groupes d'élèves dans le programme Preview développeur
Pour accéder aux méthodes des groupes d'élèves en version bêta, vous devez procéder comme suit :
- Rejoignez le programme Preview développeur.
- Configurez votre bibliothèque cliente pour accéder aux fonctionnalités en version bêta. Les méthodes du DPP ne sont pas exposées dans les bibliothèques clientes standards ni dans les requêtes HTTP standards. Une fois que vous avez rejoint le programme Developer Partner, vous pouvez accéder aux bibliothèques clientes des groupes d'élèves et les télécharger pour des langages de programmation spécifiques. Consultez la page Accéder aux API en version preview pour découvrir comment configurer la bibliothèque cliente de votre choix avec une version preview et un libellé.
- Définissez la version et le libellé de l'aperçu lorsque vous effectuez des requêtes API. Pour les méthodes de groupes d'élèves, la version bêta est
V1_20250630_PREVIEW
et le libellé bêta estDEVELOPER_PREVIEW
. Vous trouverez des exemples de requêtes API avec la version Preview dans la section Gérer les groupes d'élèves.
Conditions d'éligibilité et de licence
Pour créer, modifier ou supprimer des groupes d'élèves dans un cours, et pour ajouter ou supprimer des membres dans des groupes d'élèves, les conditions suivantes doivent être remplies :
- L'utilisateur qui envoie la demande doit être un enseignant du cours ou un administrateur du domaine.
- L'utilisateur qui envoie la demande doit disposer d'une licence Google Workspace for Education Plus.
- Le propriétaire du cours doit disposer d'une licence Google Workspace for Education Plus.
Lire les groupes d'élèves et leurs membres
Les administrateurs et les enseignants d'un cours peuvent lire les données des groupes d'élèves, quelle que soit la licence qui leur est attribuée. Cela signifie que les requêtes envoyées aux points de terminaison ListStudentGroups
et ListStudentGroupMembers
sont autorisées au nom de n'importe quel administrateur ou enseignant d'un cours.
Conditions préalables pour les exemples de code
Ce guide fournit des exemples de code en Python et suppose que vous disposez des éléments suivants :
- Un projet Google Cloud. Vous pouvez en configurer un en suivant les instructions du guide de démarrage rapide pour Python.
- Les champs d'application suivants ont été ajoutés à l'écran d'autorisation OAuth de votre projet :
https://www.googleapis.com/auth/classroom.rosters
https://www.googleapis.com/auth/classroom.rosters.readonly
pour les points de terminaison en lecture seule.
- ID d'un cours dans lequel les groupes d'élèves doivent être gérés. Le propriétaire du cours doit disposer d'une licence Google Workspace for Education Plus.
- Accès aux identifiants d'un enseignant ou d'un administrateur disposant d'une licence Google Workspace for Education Plus.
Si vous avez suivi le guide de démarrage rapide Python comme point de départ, modifiez le service Classroom pour accéder aux méthodes d'aperçu.
Python
classroom_service = 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')
Vérifier l'éligibilité des utilisateurs
L'API Classroom fournit le point de terminaison userProfiles.checkUserCapability
pour vous aider à déterminer de manière proactive si un utilisateur peut créer et modifier des groupes d'élèves et leurs membres.
Le point de terminaison userProfiles.checkUserCapability
évalue uniquement si un utilisateur est éligible à l'utilisation d'une certaine fonctionnalité, comme la modification de groupes d'élèves. Il ne fournit aucune information sur le rôle dans le cours. Par exemple, même si un utilisateur dispose de la capacité CREATE_STUDENT_GROUP
, une requête envoyée au point de terminaison CreateStudentGroup
n'aboutira pas s'il est élève du cours.
Python
def check_student_groups_update_capability(classroom_service, course_id):
"""Checks whether a user is able to create and modify student groups in a course."""
capability = classroom_service.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 allowed to create and modify student groups.")
else:
print("User is not allowed to create and modify student groups.")
Gérer les groupes d'élèves
Vous pouvez créer des groupes d'élèves à l'aide du point de terminaison 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,
previewVersion="V1_20250630_PREVIEW",
).execute()
print(response)
La réponse contient l'id
du groupe d'élèves nouvellement créé, l'courseId
et l'title
du groupe d'élèves.
Le groupe d'élèves id
peut être utilisé pour modifier ou supprimer le groupe d'élèves individuel.
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",
previewVersion="V1_20250630_PREVIEW"
).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,
previewVersion="V1_20250630_PREVIEW",
).execute()
print(response)
Vous pouvez récupérer les groupes d'élèves d'un cours à l'aide du point de terminaison ListStudentGroups
:
Python
def list_student_groups(classroom_service, course_id):
results = classroom_service.courses().studentGroups().list(
courseId=course_id,
previewVersion="V1_20250630_PREVIEW"
).execute()
studentGroups = results.get("studentGroups")
Gérer les membres d'un groupe d'élèves
Une fois le groupe d'élèves créé, vous pouvez y ajouter des membres.
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,
previewVersion="V1_20250630_PREVIEW"
).execute()
print(response)
Si vous souhaitez supprimer un membre d'un groupe d'élèves, envoyez une requête semblable à celle-ci :
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",
previewVersion="V1_20250630_PREVIEW"
).execute()
print(response)
Vous pouvez lire les membres d'un groupe en envoyant la requête suivante :
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,
previewVersion="V1_20250630_PREVIEW"
).execute()
print(results.get("studentGroupMembers"))
Chaque ressource StudentGroupMember
inclut les courseId
, studentGroupId
et userId
du membre du groupe.