Guardian
zasób reprezentuje użytkownika, np. rodzica, który otrzymuje informacje o kursach i materiałach ucznia. Opiekun, który zazwyczaj nie należy do domeny Classroom ucznia, musi zostać zaproszony za pomocą adresu e-mail.
Zaproszenia są reprezentowane przez zasób GuardianInvitation
. 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 jego utworzenie przed zaakceptowaniem zaproszenia.
Gdy użytkownik zostanie zaproszony, ale jeszcze nie zaakceptował zaproszenia, stan elementu GuardianInvitation
będzie PENDING
. Gdy użytkownik zaakceptuje zaproszenie, GuardianInvitation
zostanie oznaczony jako COMPLETED
, a utworzony zostanie zasób Guardian
.
Stan GuardianInvitation
może też zostać zmieniony na COMPLETED
, jeśli wygaśnie lub jeśli upoważniony użytkownik anuluje zaproszenie (np. za pomocą metody PatchGuardianInvitation
). Relacja opiekuna może zostać zerwana przez opiekuna, nauczyciela w Classroom lub administratora za pomocą aplikacji internetowej Classroom lub metody DeleteGuardian
.
Kto może zarządzać opiekunami
W tabeli poniżej opisujemy czynności, które można wykonywać w związku z opiekunami w zależności od typu uwierzytelnionego użytkownika:
Zakresy
Do zarządzania opiekunami służą 3 zakresy:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: wyświetlanie opiekunów użytkownika.https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: wyświetlanie opiekunów i zaproszeń dla opiekunów uczniów, których uczeń prowadzi lub którymi zarządza.https://www.googleapis.com/auth/classroom.guardianlinks.students
: wyświetlanie i zarządzanie opiekunami oraz zaproszeniami dla opiekunów uczniów, których użytkownik prowadzi lub którymi zarządza.
Typowe działania
W tej sekcji opisano niektóre typowe działania, które rodzice mogą wykonywać za pomocą interfejsu Google Classroom API.
Tworzenie zaproszenia dla rodzica
Ten przykład pokazuje, jak utworzyć zaproszenie dla rodzica lub 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 przypisany przez serwer identyfikator, który można wykorzystać do odwołania 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ń dla konkretnego ucznia
Listę wszystkich zaproszeń wysłanych do konkretnego studenta możesz uzyskać, wywołując metodę userProfiles.guardianInvitations.list()
. Domyślnie zwracane są tylko PENDING
zaproszenia. Administrator domeny może też pobrać zaproszenia o 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')))
Lista aktywnych opiekunów
Aby określić, którzy użytkownicy są aktywnymi opiekunami danego 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, korzystając z metody userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()