یک منبع Guardian نمایانگر کاربری مانند والدین است که اطلاعاتی در مورد دورهها و تکالیف دانشآموز دریافت میکند. ولی دانشآموز که معمولاً عضوی از دامنه Classroom او نیست، باید با استفاده از آدرس ایمیلش دعوت شود.
دعوتنامهها توسط منبع GuardianInvitation نمایش داده میشوند. کاربر دعوتشده ایمیلی دریافت میکند که از او خواسته میشود دعوت را بپذیرد. اگر آدرس ایمیل با حساب گوگل مرتبط نباشد، از کاربر خواسته میشود قبل از پذیرش دعوت، یکی ایجاد کند.
وقتی کاربر دعوت میشود و قبل از اینکه دعوت را بپذیرد، GuardianInvitation در حالت PENDING قرار دارد. به محض اینکه کاربر دعوت را بپذیرد، GuardianInvitation به عنوان COMPLETED علامتگذاری میشود و یک منبع Guardian ایجاد میشود.
همچنین ممکن است وضعیت GuardianInvitation در صورت انقضا یا لغو دعوت توسط یک کاربر مجاز (مثلاً با استفاده از متد PatchGuardianInvitation ) به COMPLETED تغییر یابد. یک رابطهی سرپرستی همچنین ممکن است توسط یک سرپرست، یک معلم کلاس درس یا یک مدیر، با استفاده از برنامهی وب Classroom یا متد DeleteGuardian ، قطع شود.
چه کسی میتواند سرپرستان را مدیریت کند؟
جدول زیر اقداماتی را که میتوان در رابطه با نگهبانان انجام داد، بسته به نوع کاربری که احراز هویت شده است، شرح میدهد:

محدودهها
سه محدوده وجود دارد که به شما امکان مدیریت نگهبانان را میدهد:
-
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly: مشاهدهی سرپرستان خود کاربر. -
https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly: مشاهدهی قیمها و دعوتنامههای قیم برای دانشآموزانی که کاربر به آنها آموزش میدهد یا مدیریت میکند. -
https://www.googleapis.com/auth/classroom.guardianlinks.students: مشاهده و مدیریت سرپرستان و دعوتنامههای سرپرست برای دانشآموزانی که کاربر به آنها آموزش میدهد یا آنها را مدیریت میکند.
اقدامات رایج
این بخش برخی از اقدامات رایج نگهبان را که ممکن است بخواهید با استفاده از 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() لیستی از تمام دعوتنامههایی که برای یک دانشجوی خاص ارسال شده است را دریافت کنید. به طور پیشفرض، فقط دعوتنامههای PENDING بازگردانده میشوند. مدیر دامنه همچنین میتواند با ارائه پارامتر states ، دعوتنامههایی را که در حالت COMPLETED ، بازیابی کند.
جاوا
پایتون
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')))
فهرست سرپرستان فعال
برای تعیین اینکه کدام کاربران برای یک دانشآموز خاص، سرپرست فعال هستند، از متد 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()