Guardian
kaynağı, bir öğrencinin kursları ve kurs çalışmaları hakkında bilgi alan bir kullanıcıyı (ör. ebeveyn) temsil eder. Genellikle öğrencinin Classroom alanının üyesi olmayan veli, e-posta adresi kullanılarak davet edilmelidir.
Davetler GuardianInvitation
kaynağıyla temsil edilir. Davet edilen 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.
Kullanıcı davet edildiğinde ve daveti kabul etmeden önce GuardianInvitation
, PENDING
durumuna sahiptir. Kullanıcı daveti kabul ettiğinde GuardianInvitation
, COMPLETED
olarak işaretlenir ve Guardian
kaynağı oluşturulur.
GuardianInvitation
durumu, süresi dolduğunda veya yetkili bir kullanıcı daveti iptal ettiğinde (örneğin, PatchGuardianInvitation
yöntemini kullanarak) COMPLETED
olarak da değiştirilebilir. Veli ilişkisi, veli, Classroom öğretmeni veya yönetici tarafından Classroom web uygulaması ya da DeleteGuardian
yöntemi kullanılarak da kaldırılabilir.
Velileri kimler yönetebilir?
Aşağıdaki tabloda, kimliği doğrulanan kullanıcının türüne göre velilerle ilgili olarak gerçekleştirilebilecek 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 velilerini görüntülemehttps://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: Kullanıcı tarafından eğitilen veya yönetilen öğrencilerin koruyucularını ve koruyucu davetlerini görüntüleme.https://www.googleapis.com/auth/classroom.guardianlinks.students
: Kullanıcı tarafından eğitilen veya yönetilen öğrencilerin koruyucularını ve koruyucu davetlerini görüntüleyip yönetme
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:
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')))
Yanıt, GuardianInvitation
öğesini 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 tek yolu budur.
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. Varsayılan olarak yalnızca PENDING
davetiye döndürülür. Alan adı yöneticileri, states
parametresi sağlayarak COMPLETED
durumundaki davetleri de alabilir.
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')))
Etkin velileri listeleme
Belirli bir öğrencinin etkin velilerinin hangi kullanıcılar olduğunu belirlemek için userProfiles.guardians.list()
yöntemini kullanın. Etkin ebeveynler, daveti kabul eden ebeveynlerdir.
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:
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()