Resource wali 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 untuk menjadi wali.
Undangan ini membuat
resource GuardianUndangan
dengan status PENDING
. Kemudian, pengguna akan menerima email yang meminta mereka untuk menerima undangan. Jika alamat email tidak dikaitkan dengan Akun Google, pengguna akan diminta untuk membuatnya sebelum menerima undangan.
Meskipun undangan memiliki status PENDING
, pengguna dapat menerima
undangan, yang membuat resource Guardian dan menandai GuardianUndangan
dengan status COMPLETED
. Undangan juga dapat menjadi COMPLETED
jika masa berlakunya
habis, atau jika pengguna yang memiliki otorisasi membatalkan undangan (misalnya, menggunakan
metode PatchGuardianInvitation
). Hubungan Wali juga dapat diputuskan oleh
wali, pengajar Classroom, atau administrator, menggunakan antarmuka pengguna
Classroom atau metode DeleteGuardian
.
Siapa yang dapat mengelola wali
Tabel berikut menjelaskan tindakan yang dapat dilakukan terkait wali, sesuai dengan jenis pengguna yang saat ini diautentikasi:
Cakupan
Ada tiga cakupan yang memungkinkan Anda mengelola wali:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly memungkinkan Anda melihat Wali sendiri pengguna.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly memungkinkan Anda melihat Guardians dan GuardianInvitations bagi siswa yang diajarkan atau dikelola oleh pengguna.
- https://www.googleapis.com/auth/classroom.guardianlinks.students memungkinkan Anda melihat dan mengubah Guardians dan GuardianInvitations bagi 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()
:
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')))
Hasilnya mencakup ID yang ditetapkan server yang dapat digunakan untuk merujuk ke GuardianUndangan.
Membatalkan undangan wali
Untuk membatalkan undangan, ubah status undangan dari PENDING
menjadi COMPLETE
dengan memanggil metode userProfiles.guardianInvitations.patch()
.
Perhatikan bahwa saat ini ini adalah satu-satunya cara untuk menghapus undangan.
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()
Membuat daftar undangan untuk siswa tertentu
Anda bisa mendapatkan daftar semua undangan yang telah dikirim untuk siswa tertentu menggunakan metode 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')))
Secara default, hanya PENDING
undangan yang akan ditampilkan. Sebagai administrator
domain, Anda juga dapat mengambil undangan di status COMPLETED
dengan
memberikan parameter status.
Mencantumkan wali aktif
Jika ingin menentukan pengguna mana yang merupakan wali aktif untuk siswa
tertentu, Anda dapat menggunakan metode userProfiles.guardians.list()
. Wali aktif adalah wali yang telah menerima undangan email.
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')))
Menghapus wali
Anda juga dapat menghapus wali dari siswa, menggunakan metode
userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()