แหล่งข้อมูลของผู้ปกครองแสดงถึงผู้ใช้ เช่น ผู้ปกครอง ที่ได้รับข้อมูลเกี่ยวกับหลักสูตรและงานของนักเรียน ผู้ดูแลซึ่งโดยทั่วไปไม่ใช่สมาชิกของโดเมน Classroom ของนักเรียน/นักศึกษา จะต้องได้รับเชิญโดยใช้อีเมลของตนจึงจะเป็นผู้ดูแลได้
คําเชิญนี้จะสร้างทรัพยากร GuardianInvitation ที่มีสถานะเป็น PENDING
จากนั้นผู้ใช้จะได้รับอีเมลแจ้งให้ตอบรับคำเชิญ หากอีเมลไม่ได้เชื่อมโยงกับบัญชี Google ระบบจะแจ้งให้ผู้ใช้สร้างบัญชีก่อนตอบรับคำเชิญ
ขณะที่คำเชิญมีสถานะเป็น PENDING
ผู้ใช้อาจยอมรับคำเชิญ ซึ่งจะสร้างทรัพยากรของผู้ปกครองและทําเครื่องหมาย GuardianInvitation เป็นสถานะ COMPLETED
นอกจากนี้ คำเชิญยังอาจกลายเป็นCOMPLETED
ได้หากคำเชิญนั้นหมดอายุ หรือหากผู้ใช้ที่ได้รับอนุญาตยกเลิกคำเชิญ (เช่น ใช้วิธีการ PatchGuardianInvitation
) ผู้ปกครอง ครูใน Classroom หรือผู้ดูแลระบบอาจยกเลิกความสัมพันธ์ของผู้ปกครองได้โดยใช้อินเทอร์เฟซผู้ใช้ของ Classroom หรือวิธี DeleteGuardian
ผู้ที่มีสิทธิ์จัดการผู้ปกครอง
ตารางต่อไปนี้อธิบายการดำเนินการที่ทำได้กับผู้ปกครองตามประเภทของผู้ใช้ที่ตรวจสอบสิทธิ์ในปัจจุบัน
ขอบเขต
สิทธิ์ระดับที่ให้คุณจัดการผู้ปกครองมี 3 ระดับดังนี้
- 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 ช่วยให้คุณดูและแก้ไข Guardians และ GuardianInvitations สำหรับนักเรียนที่ผู้ใช้สอนหรือดูแลได้
การทำงานทั่วไป
ส่วนนี้จะอธิบายการดำเนินการทั่วไปบางอย่างของผู้ปกครองที่คุณอาจต้องการดำเนินการโดยใช้ Google Classroom API
สร้างคำเชิญให้ผู้ปกครอง
ตัวอย่างต่อไปนี้แสดงวิธีสร้างคำเชิญผู้ปกครองโดยใช้เมธอด 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')))
ผลลัพธ์จะมีตัวระบุที่เซิร์ฟเวอร์กำหนดซึ่งสามารถใช้อ้างอิง GuardianInvitation ได้
ยกเลิกคำเชิญผู้ปกครอง
หากต้องการยกเลิกคำเชิญ ให้แก้ไขสถานะของคำเชิญจาก PENDING
เป็น COMPLETE
โดยการเรียกใช้เมธอด userProfiles.guardianInvitations.patch()
โปรดทราบว่านี่เป็นวิธีเดียวในการนำคำเชิญออกในปัจจุบัน
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()
แสดงรายการคำเชิญสำหรับนักเรียนที่เฉพาะเจาะจง
คุณดูรายการคำเชิญทั้งหมดที่ส่งสำหรับนักเรียนคนใดคนหนึ่งได้โดยใช้เมธอด userProfiles.guardianInvitations.list()
ดังนี้
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')))
โดยค่าเริ่มต้น ระบบจะแสดงเฉพาะคำเชิญ PENDING
รายการเท่านั้น ในฐานะผู้ดูแลระบบโดเมน คุณสามารถเรียกข้อมูลคำเชิญในสถานะ COMPLETED
ได้โดยระบุพารามิเตอร์ states
แสดงรายการผู้ปกครองที่ใช้งานอยู่
หากต้องการระบุว่าผู้ใช้รายใดเป็นผู้ดูแลที่ใช้งานอยู่สำหรับนักเรียนคนใดคนหนึ่ง ให้ใช้เมธอด userProfiles.guardians.list()
ผู้ปกครองที่ใช้งานอยู่คือผู้ปกครองที่ตอบรับคำเชิญทางอีเมล
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')))
นำผู้ปกครองออก
นอกจากนี้ คุณยังนำผู้ปกครองออกจากนักเรียนได้โดยใช้วิธี userProfiles.guardians.delete()
ดังนี้
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()