Referensi 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 emailnya untuk menjadi wali.
Undangan ini membuat
resource GuardianInvitation
dengan status PENDING
. Kemudian, pengguna akan menerima email yang memintanya untuk
menerima undangan. Jika alamat email tidak terkait 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 GuardianInvitation
dengan status COMPLETED
. Undangan juga dapat menjadi COMPLETED
jika
masa berlakunya habis, atau jika pengguna yang diotorisasi membatalkan undangan (misalnya, menggunakan
metode PatchGuardianInvitation
). Hubungan Wali juga dapat diputus 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 sehubungan dengan 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 pengguna sendiri.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly memungkinkan Anda melihat Wali dan GuardianInvitations untuk siswa yang diajarkan atau dikelola pengguna.
- https://www.googleapis.com/auth/classroom.guardianlinks.students memungkinkan Anda melihat dan mengubah Wali dan GuardianInvitations untuk siswa yang diajar atau dikelola 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 GuardianInvitation.
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()
Mencantumkan 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 undangan PENDING
yang akan ditampilkan. Sebagai administrator
domain, Anda juga dapat mengambil undangan dalam status COMPLETED
dengan
memberikan parameter status.
Mencantumkan wali yang 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()