Um recurso de responsável representa um usuário, como um familiar responsável, que recebe informações sobre os cursos e trabalhos de um estudante. O responsável, que normalmente não faz parte do domínio do estudante no Sala de Aula, precisa ser convidado usando o endereço de e-mail dele para se tornar um responsável.
Esse convite cria um
recurso GuardianInvitation
com um estado de PENDING
. Em seguida, o usuário recebe um e-mail solicitando que
aceite o convite. Se o endereço de e-mail não estiver associado a uma Conta do Google, o usuário precisará criar uma antes de aceitar o convite.
Embora o convite tenha um estado PENDING
, o usuário pode aceitar o
convite, que cria um recurso Guardian e marca o GuardianInvitation
com um estado COMPLETED
. Um convite também pode se tornar COMPLETED
se
expirar ou se um usuário autorizado cancelar o convite (por exemplo, usando o
método PatchGuardianInvitation
). Uma relação com os responsáveis também pode ser dividida por um responsável, um professor do Google Sala de Aula ou um administrador, usando a interface do usuário do Google Sala de Aula ou o método DeleteGuardian
.
Quem pode gerenciar os responsáveis
A tabela a seguir descreve as ações que podem ser realizadas em relação aos responsáveis, de acordo com o tipo de usuário autenticado no momento:
Escopos
Há três escopos que permitem gerenciar os responsáveis:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly, permite que você veja o próprio responsável de um usuário.
- Com https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly, é possível ver os responsáveis para alunos que são ensinados ou administrados pelo usuário.
- https://www.googleapis.com/auth/classroom.guardianlinks.students permite ver e modificar responsáveis e convites para responsáveis pelos alunos ensinados ou administrados pelo usuário.
Ações comuns
Esta seção descreve algumas das ações mais comuns que você pode realizar usando a API Google Classroom.
Criar um convite para o responsável
O exemplo a seguir mostra como criar um convite para o responsável usando o
método userProfiles.guardianInvitations.create()
:
Java
Python
guardianInvitation = {
'invitedEmailAddress': 'guardian@gmail.com',
}
guardianInvitation = service.userProfiles().guardianInvitations().create(
studentId='student@mydomain.edu',
body=guardianInvitation).execute()
print("Invitation created with id: {0}".format(guardianInvitation.get('invitationId')))
O resultado inclui um identificador atribuído pelo servidor que pode ser usado para se referir ao GuardianInvitation.
Cancelar um convite para o responsável
O exemplo a seguir mostra como cancelar um convite usando o método userProfiles.guardianInvitations.patch()
:
Java
Python
guardian_invite = {
'state': 'COMPLETE'
}
guardianInvitation = service.userProfiles().guardianInvitations().patch(
studentId='student@mydomain.edu',
invitationId=1234, # Replace with the invitation ID of the invitation you want to cancel
updateMask='state',
body=guardianInvitation).execute()
Listar os convites de um estudante específico
Para ver uma lista de todos os convites enviados para um estudante
específico, use o método userProfiles.guardianInvitations.list()
:
Java
Python
guardian_invites = []
page_token = None
while True:
response = service.userProfiles().guardianInvitations().list(
studentId='student@mydomain.edu').execute()
guardian_invites.extend(response.get('guardian_invites', []))
page_token = response.get('nextPageToken', None)
if not page_token:
break
if not courses:
print('No guardians invited for this {0}.'.format(response.get('studentId')))
else:
print('Guardian Invite:')
for guardian in guardian_invites:
print('An invite was sent to '.format(guardian.get('id'),
guardian.get('guardianId')))
Por padrão, apenas PENDING
convites serão retornados. Como administrador de domínio, também é possível recuperar convites no estado COMPLETED
fornecendo um parâmetro de estados.
Listar responsáveis ativos
Se quiser determinar quais usuários são responsáveis ativos por um estudante
específico, use o método userProfiles.guardians.list()
. Os responsáveis
ativos são responsáveis por aceitar o convite por e-mail.
Java
Python
guardian_invites = []
page_token = None
while True:
response = service.userProfiles().guardians().list(studentId='student@mydomain.edu').execute()
guardian_invites.extend(response.get('guardian_invites', []))
page_token = response.get('nextPageToken', None)
if not page_token:
break
if not courses:
print('No guardians invited for this {0}.'.format(response.get('studentId')))
else:
print('Guardian Invite:')
for guardian in guardian_invites:
print('An invite was sent to '.format(guardian.get('id'),
guardian.get('guardianId')))
Remover responsáveis
Também é possível remover um responsável de um estudante usando o
método userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()