Use os grupos para organizar os estudantes em torno de atividades direcionadas, instruções diferenciadas, atividades colaborativas e muito mais. Use a API Classroom para criar, modificar e ler grupos de estudantes em um curso em nome de administradores e professores.
É possível criar, atualizar, excluir e ler grupos de estudantes usando os seguintes métodos:
Também é possível adicionar, remover e ler membros em um grupo de estudantes usando os seguintes métodos:
Acessar métodos de grupos de estudantes no Programa de prévia para desenvolvedores
Para acessar os métodos de grupos de estudantes em prévia, faça o seguinte:
- Participe do Programa de prévia para desenvolvedores (DPP, na sigla em inglês).
- Configure a biblioteca de cliente para acessar os recursos de prévia. Os métodos no DPP não são expostos em bibliotecas de cliente padrão e solicitações HTTP padrão. Depois de entrar no DPP, você pode acessar e baixar as bibliotecas de cliente de grupos de estudantes para linguagens de programação específicas. Consulte a página de acesso às APIs de prévia para saber como configurar a biblioteca de cliente de sua escolha com uma versão e um rótulo de prévia.
- Defina a versão e o rótulo de prévia ao fazer solicitações de API. Para os métodos de grupos de estudantes, a versão de prévia é
V1_20250630_PREVIEW
e o rótulo de prévia éDEVELOPER_PREVIEW
. Confira exemplos de solicitações de API com a versão de prévia na seção Gerenciar grupos de estudantes.
Requisitos de licenciamento e qualificação
Para criar, modificar ou excluir grupos de estudantes em um curso e adicionar ou remover membros desses grupos, as seguintes condições precisam ser atendidas:
- O usuário que faz a solicitação precisa ser professor do curso ou administrador do domínio.
- O usuário que faz a solicitação precisa ter uma licença do Google Workspace for Education Plus atribuída a ele.
- O proprietário do curso precisa ter uma licença do Google Workspace for Education Plus atribuída a ele.
Leitura de grupos de estudantes e membros
Os administradores e professores de um curso podem ler os dados dos grupos de estudantes, independentemente da licença atribuída. Isso significa que as solicitações
para os endpoints ListStudentGroups
e ListStudentGroupMembers
são permitidas
em nome de qualquer administrador ou professor em um curso.
Pré-requisitos para exemplos de código
Este guia fornece exemplos de código em Python e pressupõe que você tenha o seguinte:
- Um projeto do Google Cloud. Para configurar um, siga as instruções no Guia de início rápido do Python.
- Adicione os seguintes escopos à tela de consentimento do OAuth do seu projeto:
https://www.googleapis.com/auth/classroom.rosters
https://www.googleapis.com/auth/classroom.rosters.readonly
para endpoints somente leitura.
- O ID de um curso em que os grupos de estudantes precisam ser gerenciados. O proprietário do curso precisa ter uma licença do Google Workspace for Education Plus.
- Acesso às credenciais de um professor ou administrador com uma licença do Google Workspace for Education Plus.
Se você seguiu o início rápido do Python como ponto de partida, modifique o serviço do Google Sala de Aula para acessar os métodos de prévia.
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')
Verificar a qualificação do usuário
A API Classroom oferece o endpoint userProfiles.checkUserCapability
para ajudar você a determinar de forma proativa se um usuário pode criar e
modificar grupos de estudantes e os membros deles.
O endpoint userProfiles.checkUserCapability
avalia apenas se um usuário está qualificado para usar um determinado recurso, como modificar grupos de estudantes. Ela não oferece informações sobre a função no curso. Por exemplo, mesmo que um usuário tenha o recurso CREATE_STUDENT_GROUP
, se ele for um estudante do curso, uma solicitação ao endpoint CreateStudentGroup
não será bem-sucedida.
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.")
Gerenciar grupos de estudantes
Os grupos de estudantes podem ser criados usando o 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,
previewVersion="V1_20250630_PREVIEW",
).execute()
print(response)
A resposta contém o id
do grupo de estudantes recém-criado, o
courseId
e o title
do grupo de estudantes.
O grupo de estudantes id
pode ser usado para atualizar ou excluir o grupo de estudantes
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)
É possível recuperar os grupos de estudantes em um curso usando o endpoint
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")
Gerenciar participantes de grupos de estudantes
Depois que o grupo de estudantes for criado, você poderá adicionar membros a ele.
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)
Se você quiser remover um membro de um grupo de estudantes, faça uma solicitação como a seguinte:
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)
Para ler os membros de um grupo, faça a seguinte solicitação:
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
inclui o courseId
, studentGroupId
e userId
do membro do grupo.