Um recurso Guardian
representa um usuário, como um familiar responsável, que recebe informações sobre os cursos e as atividades de um estudante. O responsável, que geralmente não é membro do domínio do Google Sala de Aula do estudante, precisa ser convidado usando o endereço de e-mail dele.
Os convites são representados pelo recurso GuardianInvitation
. O usuário convidado recebe um e-mail pedindo que aceite o convite. Se o endereço de e-mail não estiver associado a uma Conta do Google, o usuário vai precisar criar uma antes de aceitar o convite.
Quando o usuário é convidado e antes de aceitar o convite, o
GuardianInvitation
tem um estado de PENDING
. Depois que o usuário aceita o
convite, o GuardianInvitation
é marcado como COMPLETED
e um
Guardian
recurso é criado.
Um estado GuardianInvitation
também pode ser alterado para COMPLETED
se ele expirar
ou se um usuário autorizado cancelar o convite
(por exemplo, usando o método PatchGuardianInvitation
). Uma relação de
responsável também pode ser desfeita por um responsável, um professor
do Google Sala de Aula ou um administrador usando o aplicativo
da Web do Google Sala de Aula ou o método DeleteGuardian
.
Quem pode gerenciar familiares 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:
Escopos
Há três escopos que permitem gerenciar responsáveis:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: ver os responsáveis de um usuário.https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: visualizar responsáveis e convites de responsáveis pelos estudantes que o usuário ensina ou administra.https://www.googleapis.com/auth/classroom.guardianlinks.students
: visualizar e gerenciar responsáveis e convites de responsáveis por estudantes que o usuário ensina ou administra.
Ações comuns
Esta seção descreve algumas das ações comuns de responsáveis que você pode querer realizar usando a API Google Sala de Aula.
Criar um convite para responsável
O exemplo a seguir mostra como criar um convite de 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')))
A resposta inclui um identificador atribuído pelo servidor que pode ser usado para se referir ao
GuardianInvitation
.
Cancelar um convite de responsável
Para cancelar um convite, modifique o estado dele de PENDING
para
COMPLETE
chamando o método userProfiles.guardianInvitations.patch()
.
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 para um estudante específico
É possível receber uma lista de todos os convites enviados para um estudante específico usando o método userProfiles.guardianInvitations.list()
. Por padrão, apenas convites PENDING
serão retornados. Um administrador de domínio também pode recuperar convites no estado COMPLETED
fornecendo um parâmetro states
.
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')))
Listar responsáveis ativos
Para determinar quais usuários são responsáveis ativos de um estudante específico, use o método userProfiles.guardians.list()
. Os responsáveis ativos são aqueles que aceitaram o convite.
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
Você também pode 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()