Crea y administra grupos de estudiantes

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 es DEVELOPER_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:

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.