Используют ли ваши пользователи Класс с Google Meet? Ознакомьтесь с кратким руководством по скрипту приложений, в котором рассказывается, как проверить посещаемость учащихся на курсах Google Meet .

Управление стражами

Ресурс Guardian представляет пользователя, например родителя, который получает информацию о курсах и работе учащегося. Опекун, который обычно не является членом домена Classroom учащегося, должен быть приглашен с использованием своего адреса электронной почты, чтобы стать опекуном.

Это приглашение создает ресурс GuardianInvitation с состоянием PENDING . Затем пользователь получает электронное письмо с предложением принять приглашение. Если адрес электронной почты не связан с учетной записью Google, пользователю будет предложено создать ее, прежде чем принять приглашение.

Пока приглашение находится в состоянии PENDING , пользователь может принять приглашение, что создаст ресурс Guardian и пометит GuardianInvitation в состоянии COMPLETED . Приглашение также может стать COMPLETED по истечении срока его действия или если авторизованный пользователь отменит приглашение (например, с помощью метода PatchGuardianInvitation ). Отношения опекуна также могут быть разорваны опекуном, учителем Classroom или администратором с помощью пользовательского интерфейса Classroom или метода DeleteGuardian .

Кто может управлять опекунами

В следующей таблице описаны действия, которые можно выполнять по отношению к опекунам, в зависимости от типа аутентифицированного пользователя:

Таблица ACL, связанных с опекуном, по типу пользователя

Сферы

Есть три области, которые позволяют вам управлять опекунами:

Общие действия

В этом разделе описываются некоторые распространенные действия опекунов, которые вы можете выполнять с помощью API Google Classroom.

Создать приглашение опекуна

В следующем примере показано, как создать приглашение опекуна:

питон

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.

Отменить приглашение опекуна

В следующем примере показано, как отменить приглашение, если пользователь создал его по ошибке:

питон

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()

Список приглашений для конкретного учащегося

Вы можете получить список всех приглашений, которые были отправлены для конкретного студента:

питон

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')))

По умолчанию будут возвращены только ожидающие приглашения. Как администратор домена, вы также можете получать приглашения в состоянии COMPLETED, указав параметр States.

Список активных опекунов

Если вы хотите определить, какие пользователи являются активными опекунами для конкретного учащегося, вы можете использовать метод ListGuardians:

питон

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')))

Удалить опекунов

Вы также можете удалить хранителя из ученика, используя метод DeleteGuardian:

питон

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