Administrar tutores

Un recurso para tutores representa a un usuario, como un padre, que recibe información sobre los cursos y el trabajo de un alumno. El tutor, que no suele ser miembro del dominio de Classroom del alumno, debe recibir una invitación mediante 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 a una Cuenta de Google, se le pedirá al usuario que cree una antes de aceptar la invitación.

Mientras que la invitación tiene un estado de PENDING, el usuario puede aceptar la invitación, que crea un recurso Guardian y lo marca 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). Una relación con un tutor también se puede romper con un tutor, un profesor de Classroom o un administrador 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:

Tabla de LCA relacionadas con el tutor por tipo de usuario

Permisos

Existen tres alcances que te permiten administrar a los tutores:

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.

Crear una invitación para tutores

En el siguiente ejemplo, se muestra cómo puedes crear una invitación para tutores:

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

En el siguiente ejemplo, se muestra cómo cancelar una invitación si el usuario creó una por error:

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 de un alumno específico

Puedes obtener una lista de todas las invitaciones que se enviaron a un alumno en particular:

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 PENDIENTES. Como administrador de dominio, también puedes recuperar invitaciones en estado COMPLETED si proporcionas un parámetro de estados.

Enumerar tutores activos

Si deseas determinar qué usuarios son tutores activos para un alumno específico, puedes usar el método ListGuardians:

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 un tutor de un alumno mediante el método DeleteGuardian:

Python

service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
                                        guardianId='guardian@gmail.com').execute()