Zasoby opiekuna reprezentują użytkownika, np. rodzica, który otrzymuje informacje o zajęciach i pracach ucznia. Opiekun, który zazwyczaj nie należy do grupy uczniów w domenie Classroom, musi zostać zaproszony za pomocą adresu e-mail, aby stać się opiekunem.
To zaproszenie tworzy zasobnik GuardianInvitation ze stanem PENDING
. Użytkownik otrzyma e-maila z prośbą o zaakceptowanie zaproszenia. Jeśli adres e-mail nie jest powiązany z kontem Google, użytkownik zobaczy prośbę o jego utworzenie przed zaakceptowaniem zaproszenia.
Chociaż zaproszenie ma stan PENDING
, użytkownik może je zaakceptować, co spowoduje utworzenie zasobu opiekuna i oznaczenie zaproszenia opiekuna ze stanem COMPLETED
. Zaproszenie może też stać się COMPLETED
, jeśli wygaśnie lub jeśli upoważniony użytkownik je anuluje (na przykład za pomocą metody PatchGuardianInvitation
). Powiązanie z opiekunem może zostać przerwane również przez opiekuna, nauczyciela Classroom lub administratora przy użyciu interfejsu Classroom lub metody DeleteGuardian
.
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 aktualnie uwierzytelnionego użytkownika:
Zakresy
Do zarządzania opiekunami służą 3 zakresy:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly umożliwia wyświetlanie opiekunów użytkownika.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly pozwala na wyświetlanie zaproszeń opiekunów i opiekunów uczniów, których uczy lub którymi zarządza użytkownik.
- https://www.googleapis.com/auth/classroom.guardianlinks.students umożliwia wyświetlanie i modyfikowanie opiekunów oraz zaproszeń dla uczniów, których zajęcia prowadzisz lub którymi zarządzasz.
Typowe działania
W tej sekcji opisujemy niektóre typowe czynności dla opiekunów, które możesz wykonywać przy użyciu interfejsu Google Classroom API.
Tworzenie zaproszenia dla rodzica lub opiekuna
Ten przykład pokazuje, jak utworzyć zaproszenie dla rodzica 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')))
Wynik zawiera przypisany przez serwer identyfikator, który może służyć 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()
.
Obecnie jest to jedyny sposób usunięcia 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
Możesz wyświetlić listę wszystkich zaproszeń, które zostały wysłane do określonego ucznia, przy użyciu metody userProfiles.guardianInvitations.list()
:
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')))
Domyślnie zwracane są tylko zaproszenia PENDING
. Jako administrator domeny możesz też pobrać zaproszenia o stanie COMPLETED
, podając parametr states.
Wyświetl listę aktywnych opiekunów
Aby określić, którzy użytkownicy są aktywnymi opiekunami określonego ucznia, możesz użyć metody userProfiles.guardians.list()
. Aktywni opiekunowie to opiekunowie, którzy zaakceptowali e-maila z zaproszeniem.
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()