Zasób dla opiekuna reprezentuje użytkownika, na przykład rodzica, który otrzymuje informacje o zajęciach i zadaniach ucznia. Aby zostać opiekunem, użytkownik, który zazwyczaj nie korzysta z domeny Classroom, musi otrzymać zaproszenie za pomocą swojego adresu e-mail.
To zaproszenie tworzy zasób opiekuna ze stanem PENDING
. Następnie użytkownik otrzymuje 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.
Zaproszenie ma stan PENDING
, ale użytkownik może zaakceptować zaproszenie, co powoduje utworzenie zasobu opiekuna i wskazanie stanu Guardian ze stanem COMPLETED
. Zaproszenie może też zostać COMPLETED
, jeśli wygaśnie lub jeśli autoryzowany użytkownik go anuluje (np. przy użyciu metody PatchGuardianInvitation
). Relację z opiekunem może też rozłączyć opiekun, nauczyciel lub administrator Classroom, używając interfejsu Classroom lub metody DeleteGuardian
.
Kto może zarządzać opiekunami
W tabeli poniżej podano czynności, które można wykonywać w odniesieniu do opiekunów w zależności od typu uwierzytelniania użytkownika:
Zakresy
Dostępne są 3 zakresy, które umożliwiają zarządzanie opiekunami:
- https://www.googleapis.com/auth/classroom.Guardianlinks.me.readonly umożliwia wyświetlanie własnych opiekunów użytkowników.
- https://www.googleapis.com/auth/classroom.Guardianlinks.students.readonly umożliwia wyświetlanie opiekunów i zaproszeń dla opiekunów uczniów, których użytkownik uczy lub którymi zarządza.
- https://www.googleapis.com/auth/classroom.Guardianlinks.students umożliwia wyświetlanie i modyfikowanie opiekunów i zaproszeń dla opiekunów uczniów, których użytkownik uczy lub którymi zarządza.
Typowe działania
W tej sekcji opisano niektóre typowe działania wykonywane przez opiekunów przy użyciu interfejsu Google Classroom API.
Utwórz zaproszenie dla opiekuna
Poniższy przykład pokazuje, jak utworzyć zaproszenie opiekuna przy użyciu 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 ten zawiera przypisany przez serwer identyfikator, który może służyć do odwołania do opiekuna.
Anulowanie zaproszenia dla opiekuna
Poniższy przykład pokazuje, jak anulować zaproszenie przy użyciu metody userProfiles.guardianInvitations.patch()
:
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 listy zaproszeń do konkretnego ucznia
Aby wyświetlić listę wszystkich zaproszeń wysłanych dla konkretnego ucznia, użyj 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 jest tylko PENDING
zaproszeń. Jako administrator domeny możesz też pobierać zaproszenia w stanie COMPLETED
, podając parametr stan.
Wyświetlanie listy aktywnych opiekunów
Jeśli chcesz sprawdzić, którzy użytkownicy są opiekunami danego ucznia, możesz użyć metody userProfiles.guardians.list()
. Aktywni opiekunowie to opiekunowie, którzy przyjęli 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')))
Usuń opiekunów
Opiekuna możesz też usunąć z ucznia za pomocą metody userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()