Um recurso de responsável representa um usuário, como um pai, que recebe informações sobre os cursos e os trabalhos de um aluno. O responsável, que normalmente não é membro do domínio do Google Sala de aula do aluno, precisa ser convidado usando o endereço de e-mail dele para se tornar um responsável.
Esse convite cria um
recurso GuardianInvitation
com o estado 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 será solicitado a criar uma antes de aceitar o convite.
Embora o convite tenha o 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 poderá se tornar COMPLETED
se expirar ou se um usuário autorizado cancelar o convite (por exemplo, usando o método PatchGuardianInvitation
). Um relacionamento com um responsável também pode ser dividido por um responsável, um professor do Google Sala de aula ou um administrador, usando a interface de 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 os próprios responsáveis de um usuário.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly permite ver os responsáveis e os alunos que o usuário ensina ou administra.
- https://www.googleapis.com/auth/classroom.guardianlinks.students permite que você veja e modifique Guardians e GuardianInvitations para alunos que o usuário ensina ou administra.
Ações comuns
Nesta seção, descrevemos algumas das ações comuns de responsáveis que você pode usar com a API Google Classroom.
Criar um convite para os responsáveis
O exemplo a seguir mostra como criar um convite para os responsáveis 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 os responsáveis
Para cancelar um convite, modifique o estado do convite de PENDING
para COMPLETE
chamando o método userProfiles.guardianInvitations.patch()
.
Atualmente, essa é a única maneira de remover um convite.
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 convites de um aluno específico
É possível ver uma lista de todos os convites enviados para um aluno específico usando 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, você também pode recuperar convites no estado COMPLETED
fornecendo um parâmetro de estados.
Listar responsáveis ativos
Para determinar quais usuários são responsáveis ativos por um aluno específico, use o método userProfiles.guardians.list()
. Os responsáveis
ativos são aqueles que aceitaram 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 aluno usando o método userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()