Un recurso de tutor representa a un usuario, como un padre, que recibe información sobre los cursos y el trabajo de un alumno. El tutor, que, por lo general, no es miembro del dominio de Classroom del alumno, debe recibir una invitación con su dirección de correo electrónico para convertirse en tutor.
Esta invitación crea un recurso GuardianInvitation con un estado de PENDING
. Luego, el usuario recibe un correo electrónico en el que se le solicita que acepte la invitación. Si la dirección de correo electrónico no está asociada con una Cuenta de Google, se le pedirá al usuario que cree una antes de aceptar la invitación.
Mientras que la invitación tiene el estado PENDING
, el usuario puede aceptar la invitación, lo que crea un recurso de Guardian y marca la GuardianInvitation con un estado de 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
). También se puede romper una relación con un tutor, de un profesor de Classroom o de un administrador por medio de 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 alcances que te permiten administrar a los tutores:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly te permite ver los propios tutores de un usuario.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly te permite ver los tutores y las invitaciones para los alumnos que el usuario enseña o administra.
- https://www.googleapis.com/auth/classroom.guardianlinks.students te permite ver y modificar Guardians y GuardianInvitations de 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 realizar con la API de Google Classroom.
Crea una invitación para tutores
En el siguiente ejemplo, se muestra cómo puedes crear una invitación para tutores mediante 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 GuardianInvitation.
Cómo cancelar una invitación para tutores
Para cancelar una invitación, modifica el estado de la invitación de PENDING
a COMPLETE
llamando al método userProfiles.guardianInvitations.patch()
.
Ten en cuenta que, por el momento, esta es la única manera 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 de 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 las invitaciones de PENDING
. Como administrador de dominio, también puedes recuperar invitaciones en el estado COMPLETED
si proporcionas un parámetro de estados.
Enumerar tutores activos
Si quieres determinar qué usuarios son tutores activos de un alumno específico, puedes usar el método userProfiles.guardians.list()
. Los tutores activos son tutores 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()