사용자가 Google Meet에서 클래스룸을 사용 중인가요? Google Meet에서 학생의 참석 여부를 확인하는 방법 관련 Apps Script 빠른 시작을 확인하세요.

보호자 관리

보호자 리소스는 부모와 같이 학생의 과정 및 작업에 관한 정보를 수신하는 사용자를 나타냅니다. 보통 학생의 클래스룸 도메인에 속해 있지 않은 보호자는 이메일 주소를 사용하여 보호자로 초대되어야만 보호자가 될 수 있습니다.

이 초대는 상태가 GuardianInvitation 리소스이며 PENDING 상태입니다. 그러면 사용자는 초대를 수락하라는 이메일을 받습니다. 이메일 주소가 Google 계정과 연결되어 있지 않은 경우 초대를 수락하기 전에 이메일 주소를 만들라는 메시지가 표시됩니다.

초대 상태는 PENDING이지만 초대는 사용자가 수락할 수 있습니다. 이 초대장은 Guardian 리소스를 만들고 COMPLETED 상태로 GuardianInvitation을 표시합니다. 만료되거나 승인된 사용자가 초대를 취소하는 경우 (예: PatchGuardianInvitation 메서드 사용) 초대가 COMPLETED가 될 수 있습니다. 또한 클래스룸 사용자 인터페이스나 DeleteGuardian 메서드를 사용하여 보호자, 클래스룸 교사, 관리자가 보호자 관계를 해제할 수 있습니다.

보호자를 관리할 수 있는 사용자

다음 표에서는 현재 인증된 사용자 유형에 따라 보호자와 관련하여 수행할 수 있는 작업을 설명합니다.

사용자 유형별 보호자 관련 ACL 표

범위

보호자를 관리할 수 있는 범위는 다음 세 가지입니다.

대표적인 작업

이 섹션에서는 Google 클래스룸 API를 사용하여 수행할 수 있는 몇 가지 일반적인 보호자 작업을 설명합니다.

보호자 초대 만들기

다음 예시에서는 보호자 초대를 만드는 방법을 보여줍니다.

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

결과에는 GuardianInvitation을 참조하는 데 사용할 수 있는 서버 할당 식별자가 포함됩니다.

보호자 초대 취소하기

다음 예에서는 사용자가 실수로 초대를 만든 경우 초대를 취소하는 방법을 보여줍니다.

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

특정 학생의 초대장 나열

특정 학생에게 전송된 모든 초대 목록을 가져올 수 있습니다.

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

기본적으로 PENDING 초대만 반환됩니다. 도메인 관리자는 상태 매개변수를 제공하여 COMPLETED 상태의 초대를 가져올 수도 있습니다.

활성 보호자 나열

특정 학생의 활성 보호자를 확인하려면 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')))

보호자 삭제

DeleteGuardian 메서드를 사용하여 학생의 보호자를 삭제할 수도 있습니다.

Python

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