Ресурс Guardian представляет пользователя, например, родителя, который получает информацию о курсах и учебных работах учащегося. Опекун, который обычно не является участником домена Classroom учащегося, должен быть приглашён по его адресу электронной почты.
 Приглашения представлены ресурсом GuardianInvitation . Приглашенный пользователь получает электронное письмо с предложением принять приглашение. Если адрес электронной почты не связан с учётной записью Google, пользователю будет предложено создать её перед принятием приглашения.
 После получения приглашения и до того, как пользователь его примет, GuardianInvitation имеет статус PENDING . После того, как пользователь примет приглашение, GuardianInvitation помечается как COMPLETED , и создается ресурс Guardian .
 Состояние GuardianInvitation также может измениться на COMPLETED по истечении срока действия приглашения или если авторизованный пользователь отменит его (например, с помощью метода PatchGuardianInvitation ). Отношения опекуна также могут быть разорваны опекуном, преподавателем или администратором с помощью веб-приложения Classroom или метода DeleteGuardian .
Кто может управлять опекунами
В следующей таблице описываются действия, которые можно выполнять в отношении опекунов, в зависимости от типа аутентифицируемого пользователя:

Области применения
Существует три области, позволяющие управлять хранителями:
-  https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly: просмотр собственных опекунов пользователя.
-  https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly: просмотр опекунов и приглашений опекунов для студентов, которых пользователь обучает или администрирует.
-  https://www.googleapis.com/auth/classroom.guardianlinks.students: просмотр и управление опекунами и приглашениями опекунов для студентов, которых пользователь обучает или администрирует.
Общие действия
В этом разделе описываются некоторые распространенные действия опекуна, которые вы можете захотеть выполнить с помощью API Google Classroom.
Создать приглашение опекуна
 В следующем примере показано, как создать приглашение опекуна с помощью метода userProfiles.guardianInvitations.create() : 
Ява
Питон
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')))
 Ответ включает назначенный сервером идентификатор, который можно использовать для ссылки на GuardianInvitation .
Отменить приглашение опекуна
 Чтобы отменить приглашение, измените его состояние с PENDING на COMPLETE , вызвав метод userProfiles.guardianInvitations.patch() . Это единственный способ удалить приглашение. 
Ява
Питон
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()
Список приглашений для конкретного студента
 Вы можете получить список всех приглашений, отправленных конкретному учащемуся, с помощью метода userProfiles.guardianInvitations.list() . По умолчанию возвращаются только приглашения в состоянии PENDING ). Администратор домена также может получить приглашения в состоянии COMPLETED ), указав параметр states . 
Ява
Питон
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')))
Список активных опекунов
 Чтобы определить, какие пользователи являются активными опекунами конкретного учащегося, используйте метод userProfiles.guardians.list() . Активными опекунами считаются те, кто принял приглашение. 
Ява
Питон
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')))
Удалить опекунов
 Вы также можете удалить опекуна учащегося, используя метод userProfiles.guardians.delete() : 
Ява
Питон
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
                                        guardianId='guardian@gmail.com').execute()