Veli kaynağı, öğrencinin kursları ve çalışmaları hakkında bilgi alan bir kullanıcıyı (ör. ebeveyn) temsil eder. Genellikle öğrencinin Classroom alanının üyesi olmayan ebeveynlerin, ebeveyn olmak için e-posta adresleri kullanılarak davet edilmesi gerekir.
Bu davetiye, PENDING
durumuyla bir GuardianInvitation kaynağı oluşturur. Ardından kullanıcıya, daveti kabul etmesini isteyen bir e-posta gönderilir. E-posta adresi bir Google Hesabı ile ilişkilendirilmemişse kullanıcıdan daveti kabul etmeden önce hesap oluşturması istenir.
Davetiyenin durumu PENDING
iken kullanıcı davetiyeyi kabul edebilir. Bu durumda, Guardian kaynağı oluşturulur ve GuardianInvitation COMPLETED
olarak işaretlenir. Bir davetin süresi dolduğunda veya yetkili bir kullanıcı daveti iptal ettiğinde (örneğin, PatchGuardianInvitation
yöntemini kullanarak) de COMPLETED
durumuna geçebilir. Veli ilişkisi, veli, Classroom öğretmeni veya yönetici tarafından Classroom kullanıcı arayüzü ya da DeleteGuardian
yöntemi kullanılarak da sonlandırılabilir.
Velileri kimler yönetebilir?
Aşağıdaki tabloda, kimliği doğrulanmış kullanıcının türüne göre velilerle ilgili olarak yapılabilecek işlemler açıklanmaktadır:
Kapsamlar
Velileri yönetmenize olanak tanıyan üç kapsam vardır:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly, kullanıcının kendi koruyucularını görüntülemenize olanak tanır.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly, kullanıcının ders verdiği veya yönettiği öğrencilerin koruyucularını ve GuardianInvitations öğelerini görüntülemenize olanak tanır.
- https://www.googleapis.com/auth/classroom.guardianlinks.students, kullanıcının ders verdiği veya yönettiği öğrencilerin koruyucularını ve GuardianInvitations öğelerini görüntülemenize ve değiştirmenize olanak tanır.
Sık kullanılan işlemler
Bu bölümde, Google Classroom API'yi kullanarak gerçekleştirmek isteyebileceğiniz bazı yaygın veli işlemleri açıklanmaktadır.
Veli davetiyesi oluşturma
Aşağıdaki örnekte, userProfiles.guardianInvitations.create()
yöntemini kullanarak nasıl veli davetiyesi oluşturabileceğiniz gösterilmektedir:
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')))
Sonuç, GuardianInvitation'ı belirtmek için kullanılabilecek, sunucuya atanan bir tanımlayıcı içerir.
Veli davetiyesini iptal etme
Bir davetiyeyi iptal etmek için userProfiles.guardianInvitations.patch()
yöntemini çağırarak davetiyenin durumunu PENDING
yerine COMPLETE
olarak değiştirin.
Davetleri kaldırmanın şu anda tek yolunun bu olduğunu unutmayın.
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()
Belirli bir öğrenciye gönderilen davetleri listeleme
userProfiles.guardianInvitations.list()
yöntemini kullanarak belirli bir öğrenciye gönderilen tüm davetiyelerin listesini alabilirsiniz:
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')))
Varsayılan olarak yalnızca PENDING
davetiye döndürülür. Alan yöneticisi olarak, states parametresini sağlayarak COMPLETED
eyaletindeki davetleri de alabilirsiniz.
Etkin velileri listeleme
Belirli bir öğrencinin etkin velilerinin hangi kullanıcılar olduğunu belirlemek istiyorsanız userProfiles.guardians.list()
yöntemini kullanabilirsiniz. Etkin veliler, e-posta davetini kabul eden velilerdir.
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')))
Velileri kaldırma
userProfiles.guardians.delete()
yöntemini kullanarak da bir öğrenciden veliyi kaldırabilirsiniz:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()