Tài nguyên Guardian
đại diện cho một người dùng, chẳng hạn như cha mẹ, người nhận thông tin về các khoá học và bài tập của học viên. Người giám hộ (thường không phải là thành viên của miền Lớp học của học viên) phải được mời bằng địa chỉ email của họ.
Lời mời được biểu thị bằng tài nguyên GuardianInvitation
. Người dùng được mời sẽ nhận được một email nhắc họ chấp nhận lời mời. Nếu địa chỉ email không liên kết với Tài khoản Google, người dùng sẽ được nhắc tạo một tài khoản trước khi chấp nhận lời mời.
Khi người dùng được mời và trước khi họ chấp nhận lời mời, GuardianInvitation
sẽ có trạng thái PENDING
. Sau khi người dùng chấp nhận lời mời, GuardianInvitation
sẽ được đánh dấu là COMPLETED
và một tài nguyên Guardian
sẽ được tạo.
Trạng thái GuardianInvitation
cũng có thể thay đổi thành COMPLETED
nếu hết hạn hoặc nếu người dùng được uỷ quyền huỷ lời mời (ví dụ: bằng phương thức PatchGuardianInvitation
). Người giám hộ, giáo viên Lớp học hoặc quản trị viên cũng có thể chấm dứt mối quan hệ người giám hộ bằng cách sử dụng ứng dụng web Lớp học hoặc phương thức DeleteGuardian
.
Người có thể quản lý người giám hộ
Bảng sau đây mô tả những việc có thể làm đối với người giám hộ, tuỳ theo loại người dùng được xác thực:
Phạm vi
Có 3 phạm vi cho phép bạn quản lý người giám hộ:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: xem người giám hộ của chính người dùng.https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: xem người giám hộ và lời mời cho người giám hộ của những học viên mà người dùng dạy hoặc quản lý.https://www.googleapis.com/auth/classroom.guardianlinks.students
: xem và quản lý người giám hộ cũng như lời mời cho người giám hộ đối với học viên mà người dùng dạy hoặc quản lý.
Tác vụ thông thường
Phần này mô tả một số hành động phổ biến của người giám hộ mà bạn có thể muốn thực hiện bằng Google Classroom API.
Tạo lời mời cho người giám hộ
Ví dụ sau đây cho thấy cách bạn có thể tạo lời mời cho người giám hộ bằng phương thức 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')))
Phản hồi này bao gồm một giá trị nhận dạng do máy chủ chỉ định mà bạn có thể dùng để tham chiếu đến GuardianInvitation
.
Huỷ lời mời cho người giám hộ
Để huỷ lời mời, hãy sửa đổi trạng thái của lời mời từ PENDING
thành COMPLETE
bằng cách gọi phương thức userProfiles.guardianInvitations.patch()
.
Đây là cách duy nhất để xoá lời mời.
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()
Liệt kê lời mời cho một học viên cụ thể
Bạn có thể nhận được danh sách tất cả lời mời đã được gửi cho một học viên cụ thể bằng phương thức userProfiles.guardianInvitations.list()
. Theo mặc định, chỉ có lời mời PENDING
mới được trả về. Quản trị viên miền cũng có thể truy xuất lời mời ở trạng thái COMPLETED
bằng cách cung cấp tham số 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')))
Liệt kê người giám hộ đang hoạt động
Để xác định những người dùng là người giám hộ đang hoạt động của một học viên cụ thể, hãy dùng phương thức userProfiles.guardians.list()
. Người giám hộ đang hoạt động là những người giám hộ đã chấp nhận lời mời.
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')))
Xoá người giám hộ
Bạn cũng có thể xoá người giám hộ khỏi học viên bằng phương thức userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()