Resource Guardian
mewakili pengguna, seperti orang tua, yang menerima informasi tentang kursus
dan tugas siswa. Wali, yang biasanya bukan anggota
domain Classroom siswa, harus diundang menggunakan alamat email
mereka.
Undangan diwakili oleh resource GuardianInvitation
. Pengguna yang diundang akan menerima email yang memintanya untuk menerima undangan. Jika alamat email tidak dikaitkan dengan Akun Google, pengguna akan diminta untuk membuatnya sebelum menerima undangan.
Saat pengguna diundang dan sebelum menerima undangan, GuardianInvitation
memiliki status PENDING
. Setelah pengguna menerima
undangan, GuardianInvitation
akan ditandai sebagai COMPLETED
dan
resource Guardian
akan dibuat.
Status GuardianInvitation
juga dapat diubah menjadi COMPLETED
jika masa berlakunya berakhir
atau jika pengguna yang berwenang membatalkan undangan
(misalnya, menggunakan metode PatchGuardianInvitation
). Hubungan wali
juga dapat diputuskan oleh wali, pengajar
Classroom, atau administrator, menggunakan aplikasi web
Classroom atau metode DeleteGuardian
.
Siapa yang dapat mengelola wali
Tabel berikut menjelaskan tindakan yang dapat dilakukan sehubungan dengan wali, sesuai dengan jenis pengguna yang diautentikasi:
Cakupan
Ada tiga cakupan yang memungkinkan Anda mengelola wali:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: melihat wali pengguna sendiri.https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: melihat wali dan undangan wali untuk siswa yang diajarkan atau dikelola oleh pengguna.https://www.googleapis.com/auth/classroom.guardianlinks.students
: melihat dan mengelola wali dan undangan wali untuk siswa yang diajarkan atau dikelola oleh pengguna.
Tindakan umum
Bagian ini menjelaskan beberapa tindakan wali umum yang mungkin ingin Anda lakukan menggunakan Google Classroom API.
Membuat undangan wali
Contoh berikut menunjukkan cara membuat undangan wali menggunakan
metode 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')))
Responsnya menyertakan ID yang ditetapkan server yang dapat digunakan untuk merujuk ke
GuardianInvitation
.
Membatalkan undangan wali
Untuk membatalkan undangan, ubah status undangan dari PENDING
menjadi
COMPLETE
dengan memanggil metode userProfiles.guardianInvitations.patch()
.
Ini adalah satu-satunya cara untuk menghapus undangan.
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()
Mencantumkan undangan untuk siswa tertentu
Anda bisa mendapatkan daftar semua undangan yang telah dikirim untuk siswa
tertentu menggunakan metode userProfiles.guardianInvitations.list()
. Secara
default, hanya undangan PENDING
yang akan ditampilkan. Administrator
domain juga dapat mengambil undangan dalam status COMPLETED
dengan
memberikan parameter 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')))
Mencantumkan wali yang aktif
Untuk menentukan pengguna mana yang merupakan wali aktif untuk siswa
tertentu, gunakan metode userProfiles.guardians.list()
. Wali
aktif adalah wali yang telah menerima undangan.
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')))
Menghapus wali
Anda juga dapat menghapus wali dari siswa, menggunakan
metode userProfiles.guardians.delete()
:
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()