منبع Guardian کاربر را نشان میدهد، مانند والدین، که اطلاعاتی درباره دورهها و تکالیف دانشآموز دریافت میکند. سرپرست، که معمولاً عضو دامنه Classroom دانشآموز نیست، باید با استفاده از آدرس ایمیل او دعوت شود.
دعوتنامهها توسط منبع GuardianInvitation نشان داده میشوند. کاربر دعوت شده ایمیلی دریافت می کند که از او می خواهد دعوت نامه را بپذیرد. اگر آدرس ایمیل با یک حساب Google مرتبط نباشد، از کاربر خواسته می شود تا قبل از پذیرش دعوت نامه، آن را ایجاد کند.
هنگامی که کاربر دعوت می شود و قبل از اینکه دعوت نامه را بپذیرد، GuardianInvitation حالت PENDING دارد. هنگامی که کاربر دعوت نامه را پذیرفت، GuardianInvitation به عنوان COMPLETED علامت گذاری می شود و یک منبع Guardian ایجاد می شود.
یک وضعیت GuardianInvitation نیز ممکن است به COMPLETED تغییر یابد، اگر منقضی شود یا یک کاربر مجاز دعوت را لغو کند (به عنوان مثال، با استفاده از روش PatchGuardianInvitation ). همچنین ممکن است یک قیم، معلم کلاس، یا مدیر، با استفاده از برنامه وب 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: نگهبانان و دعوت نامه های سرپرست را برای دانش آموزانی که کاربر آموزش می دهد یا مدیریت می کند، مشاهده و مدیریت کنید.
اقدامات مشترک
این بخش برخی از اقدامات متداول نگهبان را که ممکن است بخواهید با استفاده از 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() میتوانید فهرستی از تمام دعوتنامههایی را که برای یک دانشآموز خاص ارسال شده است، دریافت کنید. بهطور پیشفرض، فقط دعوتنامههای PENDING برگردانده میشوند. یک مدیر دامنه همچنین میتواند دعوتنامهها را در حالت COMPLETED با ارائه پارامتر states بازیابی کند.
جاوا
پایتون
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()