Un recurso Guardian
representa a un usuario, como un padre o una madre, que recibe información sobre los cursos y las tareas de un estudiante. Se debe invitar al tutor, que no suele ser miembro del dominio de Classroom del estudiante, con su dirección de correo electrónico.
Las invitaciones se representan con el recurso GuardianInvitation
. El usuario invitado 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 a una Cuenta de Google, se le pedirá al usuario que cree una antes de aceptar la invitación.
Cuando se invita al usuario y antes de que acepte la invitación, el objeto GuardianInvitation
tiene el estado PENDING
. Una vez que el usuario acepta la invitación, el objeto GuardianInvitation
se marca como COMPLETED
y se crea un recurso Guardian
.
Un estado GuardianInvitation
también puede cambiar a COMPLETED
si vence o si un usuario autorizado cancela la invitación (por ejemplo, con el método PatchGuardianInvitation
). Un tutor también puede romper una relación de tutoría, al igual que un profesor de Classroom o un administrador, ya sea con la aplicación web de Classroom o con 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:
Permisos
Existen tres permisos que te permiten administrar a los tutores:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: Ver los tutores de un usuariohttps://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: Ver tutores e invitaciones de tutores para los estudiantes a los que el usuario enseña o administrahttps://www.googleapis.com/auth/classroom.guardianlinks.students
: Ver y administrar tutores e invitaciones de tutores para los estudiantes a los que el usuario enseña o administra
Acciones comunes
En esta sección, se describen algunas de las acciones comunes de los tutores que tal vez desees realizar con la API de Google Classroom.
Cómo crear una invitación de guardián
En el siguiente ejemplo, se muestra cómo crear una invitación de tutor 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')))
La respuesta incluye un identificador asignado por el servidor que se puede usar para hacer referencia al GuardianInvitation
.
Cómo cancelar una invitación de tutor
Para cancelar una invitación, modifica su estado de PENDING
a COMPLETE
llamando al método userProfiles.guardianInvitations.patch()
.
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()
Enumera las invitaciones para un estudiante específico
Puedes obtener una lista de todas las invitaciones que se enviaron para un estudiante específico con el método userProfiles.guardianInvitations.list()
. De forma predeterminada, solo se mostrarán PENDING
invitaciones. Un administrador de dominio también puede recuperar invitaciones en el estado COMPLETED
proporcionando un 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')))
Enumera los tutores activos
Para determinar qué usuarios son tutores activos de un estudiante específico, usa el método userProfiles.guardians.list()
. Los tutores activos son aquellos que aceptaron la invitación.
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')))
Cómo quitar tutores
También puedes quitar a un tutor de un estudiante con el método userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()