Puedes usar los grupos de estudiantes para organizarlos en grupos específicos y mejorar las experiencias de enseñanza, como las tareas exclusivas para cada uno y las actividades colaborativas. Usa la API de Classroom para crear, modificar y leer grupos de estudiantes dentro de un curso en nombre de los administradores y profesores.
Puedes crear, actualizar, borrar y leer grupos de estudiantes con los siguientes métodos:
También puedes agregar, quitar y leer miembros dentro de un grupo de estudiantes con los siguientes métodos:
Accede a los métodos de grupos de estudiantes en el Programa de versión preliminar para desarrolladores
Para acceder a los métodos de grupos de estudiantes en versión preliminar, debes hacer lo siguiente:
- Únete al Programa de versión preliminar para desarrolladores (DPP).
- Configura tu biblioteca cliente para acceder a las funciones de vista previa. Los métodos de la DPP no se exponen en las bibliotecas cliente estándar ni en las solicitudes HTTP estándar. Después de unirte correctamente al DPP, podrás acceder a las bibliotecas cliente de grupos de estudiantes para lenguajes de programación específicos y descargarlas. Consulta la página de acceso a las APIs en versión preliminar para obtener información sobre cómo configurar la biblioteca cliente que elijas con una versión preliminar y una etiqueta.
- Establece la versión preliminar y la etiqueta de versión preliminar cuando realices solicitudes a la API. En el caso de los métodos de grupos de estudiantes, la versión preliminar es
V1_20250630_PREVIEW
y la etiqueta de versión preliminar esDEVELOPER_PREVIEW
. Puedes encontrar ejemplos de solicitudes a la API con la versión preliminar en la sección Administra grupos de estudiantes.
Requisitos de licencias y elegibilidad
Para crear, modificar o borrar grupos de estudiantes en un curso, y agregar o quitar miembros de los grupos de estudiantes, se deben cumplir las siguientes condiciones:
- El usuario que realiza la solicitud debe ser profesor del curso o administrador del dominio.
- El usuario que realiza la solicitud debe tener asignada una licencia de Google Workspace for Education Plus.
- El propietario del curso debe tener asignada una licencia de Google Workspace for Education Plus.
Lectura de grupos de estudiantes y sus miembros
Los administradores y profesores de un curso pueden leer los datos de los grupos de estudiantes, independientemente de la licencia que tengan asignada. Esto significa que se permiten las solicitudes a los endpoints ListStudentGroups
y ListStudentGroupMembers
en nombre de cualquier administrador o profesor de un curso.
Requisitos previos del ejemplo de código
En esta guía, se proporcionan ejemplos de código en Python y se supone que tienes lo siguiente:
- Un proyecto de Google Cloud, Puedes configurar uno siguiendo las instrucciones de la guía de inicio rápido de Python.
- Se agregaron los siguientes permisos a la pantalla de consentimiento de OAuth de tu proyecto:
https://www.googleapis.com/auth/classroom.rosters
https://www.googleapis.com/auth/classroom.rosters.readonly
para extremos de solo lectura.
- Es el ID de un curso en el que se deben administrar los grupos de estudiantes. El propietario del curso debe tener una licencia de Google Workspace for Education Plus.
- Acceso a las credenciales de un profesor o administrador con una licencia de Google Workspace for Education Plus
Si seguiste la guía de inicio rápido de Python como punto de partida, modifica el servicio de Classroom para acceder a los métodos de vista previa.
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')
Verifica la elegibilidad del usuario
La API de Classroom proporciona el extremo userProfiles.checkUserCapability
para ayudarte a determinar de forma proactiva si un usuario puede crear y modificar grupos de estudiantes y sus miembros.
El extremo userProfiles.checkUserCapability
solo evalúa si un usuario es apto para usar una determinada capacidad, como modificar grupos de estudiantes. No ofrece información sobre el rol del curso. Por ejemplo, incluso si un usuario tiene la capacidad CREATE_STUDENT_GROUP
, si es estudiante del curso, no se completará una solicitud al extremo CreateStudentGroup
.
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.")
Administra grupos de estudiantes
Los grupos de estudiantes se pueden crear con el extremo 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 respuesta contiene el id
del grupo de estudiantes recién creado, el courseId
y el title
del grupo de estudiantes.
El grupo de estudiantes id
se puede usar para actualizar o borrar el grupo de estudiantes 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", 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)
Puedes recuperar los grupos de estudiantes dentro de un curso con el extremo 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")
Administra los miembros de un grupo de estudiantes
Una vez que se haya creado correctamente el grupo de estudiantes, podrás agregarle miembros.
Python
def add_student_group_member(classroom_service, course_id, student_group_id): body = { "userId": "[email protected]" } response = classroom_service.courses().studentGroups().studentGroupMembers().create( courseId=course_id, studentGroupId=student_group_id, body=body, previewVersion="V1_20250630_PREVIEW" ).execute() print(response)
Si quieres quitar a un miembro de un grupo de estudiantes, haz una solicitud como la siguiente:
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="[email protected]", previewVersion="V1_20250630_PREVIEW" ).execute() print(response)
Para leer los miembros de un grupo, realiza la siguiente solicitud:
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"))
Cada recurso StudentGroupMember
incluye los campos courseId
, studentGroupId
y userId
del miembro del grupo.