یک منبع Guardian نشان دهنده کاربری است، مانند والدین، که اطلاعاتی در مورد دوره ها و کار دانش آموز دریافت می کند. سرپرست، که معمولاً عضو دامنه Classroom دانشآموز نیست، باید با استفاده از آدرس ایمیل خود دعوت شود تا قیم شود.
این دعوت یک منبع GuardianInvitation با وضعیت PENDING
ایجاد می کند. سپس کاربر ایمیلی دریافت می کند که از او می خواهد دعوت را بپذیرد. اگر آدرس ایمیل با یک حساب Google مرتبط نباشد، از کاربر خواسته می شود تا قبل از پذیرش دعوت نامه، آن را ایجاد کند.
در حالی که حالت دعوتنامه در حال PENDING
است، کاربر ممکن است دعوتنامه را بپذیرد، که یک منبع Guardian ایجاد می کند و GuardianInvitation را با حالت COMPLETED
علامت گذاری می کند. اگر دعوتنامه منقضی شود، یا اگر یک کاربر مجاز دعوت را لغو کند (مثلاً با استفاده از روش PatchGuardianInvitation
) ممکن است یک دعوت COMPLETED
شود. یک رابطه Guardian همچنین ممکن است توسط یک سرپرست، یک معلم کلاس، یا یک مدیر، با استفاده از رابط کاربری Classroom یا روش DeleteGuardian
، قطع شود.
چه کسی می تواند سرپرستان را مدیریت کند
جدول زیر اقداماتی را که میتوان با توجه به محافظان انجام داد، با توجه به نوع کاربری که در حال حاضر احراز هویت شده است، توضیح میدهد:
محدوده ها
سه حوزه وجود دارد که به شما امکان می دهد سرپرستان را مدیریت کنید:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly به شما امکان می دهد نگهبانان خود کاربر را مشاهده کنید.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly به شما امکان می دهد Guardians و GuardianInvitations را برای دانش آموزانی که کاربر آموزش می دهد یا مدیریت می کند، مشاهده کنید.
- https://www.googleapis.com/auth/classroom.guardianlinks.students به شما امکان می دهد Guardians و GuardianInvitations را برای دانش آموزانی که کاربر آموزش می دهد یا مدیریت می کند، مشاهده و اصلاح کنید.
اقدامات مشترک
این بخش برخی از اقدامات متداول نگهبان را که ممکن است بخواهید با استفاده از Google Classroom API انجام دهید، توضیح میدهد.
یک دعوت نامه نگهبان ایجاد کنید
مثال زیر نشان می دهد که چگونه می توانید با استفاده از متد 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')))
نتیجه شامل یک شناسه اختصاص داده شده توسط سرور است که می تواند برای ارجاع به GuardianInvitation استفاده شود.
دعوت نامه سرپرست را لغو کنید
برای لغو یک دعوت، با فراخوانی متد userProfiles.guardianInvitations.patch()
وضعیت دعوت را از PENDING
به COMPLETE
تغییر دهید. توجه داشته باشید که در حال حاضر این تنها راه حذف دعوت نامه است.
جاوا
پایتون
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()
دعوت نامه های یک دانش آموز خاص را فهرست کنید
با استفاده از متد userProfiles.guardianInvitations.list()
میتوانید فهرستی از تمام دعوتنامههایی که برای یک دانشآموز خاص ارسال شده است را دریافت کنید:
جاوا
پایتون
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')))
بهطور پیشفرض، فقط دعوتنامههای PENDING
برگردانده میشوند. بهعنوان مدیر دامنه، میتوانید با ارائه یک پارامتر وضعیت، دعوتنامهها را در حالت COMPLETED
بازیابی کنید.
نگهبانان فعال را فهرست کنید
اگر می خواهید تعیین کنید که کدام کاربران قیم فعال یک دانش آموز خاص هستند، می توانید از متد userProfiles.guardians.list()
استفاده کنید. قیم فعال قیمانی هستند که دعوت نامه ایمیل را پذیرفته اند.
جاوا
پایتون
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')))
نگهبانان را حذف کنید
همچنین می توانید با استفاده از متد userProfiles.guardians.delete()
یک سرپرست را از دانش آموز حذف کنید:
جاوا
پایتون
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()