Guardian
Zasób reprezentuje użytkownika, np. rodzica, który otrzymuje informacje o kursach i zadaniach ucznia. Opiekun, który zwykle nie jest członkiem domeny Classroom ucznia, musi zostać zaproszony za pomocą swojego adresu e-mail.
Zaproszenia są reprezentowane przez GuardianInvitation
zasób. Zaproszona osoba otrzyma e-maila z prośbą o zaakceptowanie zaproszenia. Jeśli adres e-mail nie jest powiązany z kontem Google, użytkownik zostanie poproszony o utworzenie konta przed zaakceptowaniem zaproszenia.
Gdy użytkownik zostanie zaproszony, ale jeszcze nie zaakceptuje zaproszenia, element GuardianInvitation
będzie w stanie PENDING
. Gdy użytkownik zaakceptuje zaproszenie, GuardianInvitation
zostanie oznaczony jako COMPLETED
i utworzony zostanie Guardian
zasób.
Stan GuardianInvitation
może też zmienić się na COMPLETED
, jeśli wygaśnie lub jeśli autoryzowany użytkownik anuluje zaproszenie (np. za pomocą metody PatchGuardianInvitation
). Relację opiekuna można też zerwać za pomocą aplikacji internetowej Classroom lub metody DeleteGuardian
. Może to zrobić opiekun, nauczyciel Classroom lub administrator.
Kto może zarządzać opiekunami
W tabeli poniżej opisujemy działania, które można wykonywać w odniesieniu do opiekunów, w zależności od typu uwierzytelnionego użytkownika:
Zakresy
Dostępne są 3 zakresy, które umożliwiają zarządzanie opiekunami:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: wyświetlanie własnych opiekunów użytkownika.https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: wyświetlać opiekunów i zaproszenia dla opiekunów uczniów, których uczy lub którymi zarządza.https://www.googleapis.com/auth/classroom.guardianlinks.students
: wyświetlanie opiekunów i zaproszeń dla opiekunów uczniów, których uczy lub którymi zarządza użytkownik, oraz zarządzanie nimi.
Typowe działania
W tej sekcji opisujemy niektóre typowe działania opiekuna, które możesz wykonywać za pomocą interfejsu Google Classroom API.
Tworzenie zaproszenia dla opiekuna
Poniższy przykład pokazuje, jak utworzyć zaproszenie dla opiekuna za pomocą metody userProfiles.guardianInvitations.create()
:
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')))
Odpowiedź zawiera identyfikator przypisany przez serwer, który może być używany do odwoływania się do GuardianInvitation
.
Anulowanie zaproszenia opiekuna
Aby anulować zaproszenie, zmień jego stan z PENDING
na COMPLETE
, wywołując metodę userProfiles.guardianInvitations.patch()
.
To jedyny sposób na usunięcie zaproszenia.
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()
Wyświetlanie zaproszeń dotyczących konkretnego ucznia
Listę wszystkich zaproszeń wysłanych do konkretnego ucznia możesz uzyskać za pomocą metody userProfiles.guardianInvitations.list()
. Domyślnie zwracane są tylko PENDING
zaproszenia. Administrator domeny może też pobrać zaproszenia w stanie COMPLETED
, podając parametr states
.
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')))
Wyświetlanie listy aktywnych opiekunów
Aby określić, którzy użytkownicy są aktywnymi opiekunami konkretnego ucznia, użyj metody userProfiles.guardians.list()
. Aktywni opiekunowie to opiekunowie, którzy zaakceptowali zaproszenie.
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')))
Usuwanie opiekunów
Możesz też usunąć opiekuna ucznia za pomocą metody
userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()