Un recurso Guardian representa a un usuario, como un padre, que recibe información sobre los cursos y el trabajo de un alumno. Se debe invitar al tutor que no suele ser miembro del dominio de Classroom del alumno mediante su dirección de correo electrónico para que se convierta en tutor.
Esta invitación crea un recurso GuardianInvitation con el estado PENDING
. Luego, el usuario recibirá un correo electrónico en el que se le solicitará que acepte la invitación. Si la dirección de correo electrónico no está asociada con una Cuenta de Google, se le pide al usuario que cree una antes de aceptar la invitación.
Si bien la invitación tiene el estado PENDING
, el usuario puede aceptarla, lo que crea un recurso Guardian y marca GuardianInvitation con el estado COMPLETED
. Una invitación también puede convertirse en COMPLETED
si vence o si un usuario autorizado la cancela (por ejemplo, con el método PatchGuardianInvitation
). Un tutor, un profesor de Classroom o un administrador también pueden romper una relación de tutor mediante la interfaz de usuario de Classroom o el método DeleteGuardian
.
Quién puede administrar a los tutores
En la siguiente tabla, se describen las acciones que se pueden realizar con respecto a los tutores, según el tipo de usuario autenticado actualmente:
Permisos
Existen tres permisos que te permiten administrar a los tutores:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly te permite ver los tutores de un usuario.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly te permite ver las invitaciones a tutores y tutores para los alumnos que el usuario enseña o administra.
- https://www.googleapis.com/auth/classroom.guardianlinks.students te permite ver y modificar las invitaciones a tutores y tutores para los alumnos que el usuario enseña o administra.
Acciones comunes
En esta sección, se describen algunas de las acciones comunes de los tutores que puedes llevar a cabo con la API de Google Classroom.
Crea una invitación para ser tutor
En el siguiente ejemplo, se muestra cómo crear una invitación para tutores con el 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')))
El resultado incluye un identificador asignado por el servidor que se puede usar para hacer referencia a la GuardianInvitation.
Cómo cancelar una invitación a un tutor
Para cancelar una invitación, modifica su estado de PENDING
a COMPLETE
llamando al método userProfiles.guardianInvitations.patch()
.
Ten en cuenta que, por el momento, esta es la única forma de quitar una invitación.
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()
Enumerar las invitaciones a un alumno específico
Puedes obtener una lista de todas las invitaciones que se enviaron para un alumno específico con el 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')))
De forma predeterminada, solo se mostrarán PENDING
invitaciones. Como administrador de dominio, también puedes recuperar invitaciones en estado COMPLETED
si proporcionas un parámetro de estados.
Enumerar los tutores activos
Si deseas determinar qué usuarios son tutores activos para un alumno específico, puedes usar el método userProfiles.guardians.list()
. Los tutores activos son los que aceptaron la invitación por correo electrónico.
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')))
Quitar tutores
También puedes quitar a un tutor de un alumno mediante el método userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()