Una risorsa Guardian
rappresenta un utente, ad esempio un genitore, che riceve informazioni sui corsi e sui lavori dello studente. Il tutore, che in genere non è membro del dominio Classroom dello studente, deve essere invitato utilizzando il suo indirizzo email.
Gli inviti sono rappresentati dalla risorsa GuardianInvitation
. L'utente invitato riceve un'email che lo invita ad accettare l'invito. Se l'indirizzo email non è associato a un Account Google, all'utente viene chiesto di crearne uno prima di accettare l'invito.
Quando l'utente riceve l'invito e prima che lo accetti, il valore dello stato di GuardianInvitation
è PENDING
. Una volta che l'utente accetta l'invito, GuardianInvitation
viene contrassegnato come COMPLETED
e viene creata una
risorsa Guardian
.
Uno stato GuardianInvitation
potrebbe anche essere modificato in COMPLETED
se scade
o se un utente autorizzato annulla l'invito
(ad esempio utilizzando il metodo PatchGuardianInvitation
). Un rapporto con un tutore può essere interrotto anche da un tutore, un insegnante di Classroom o un amministratore utilizzando l'applicazione web di Classroom o il metodo DeleteGuardian
.
Chi può gestire i tutori
La seguente tabella descrive le azioni che possono essere eseguite in relazione ai tutori, in base al tipo di utente autenticato:
Ambiti
Esistono tre ambiti che ti consentono di gestire i tutori:
https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly
: visualizzare i tutori di un utente.https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
: visualizzare i tutori e gli inviti ai tutori per gli studenti che l'utente insegna o amministra.https://www.googleapis.com/auth/classroom.guardianlinks.students
: visualizzare e gestire i tutori e gli inviti ai tutori per gli studenti che l'utente insegna o amministra.
Azioni comuni
Questa sezione descrive alcune delle azioni comuni dei tutori che potresti voler eseguire utilizzando l'API Google Classroom.
Creare un invito per il tutore
L'esempio seguente mostra come creare un invito per il tutore utilizzando il metodo 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')))
La risposta include un identificatore assegnato dal server che può essere utilizzato per fare riferimento al GuardianInvitation
.
Annullare un invito al tutore
Per annullare un invito, modifica lo stato da PENDING
a
COMPLETE
chiamando il metodo userProfiles.guardianInvitations.patch()
.
Questo è l'unico modo per rimuovere un invito.
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()
Elencare gli inviti per uno studente specifico
Puoi ottenere un elenco di tutti gli inviti inviati per un determinato
studente utilizzando il metodo userProfiles.guardianInvitations.list()
. Per impostazione predefinita, verranno restituiti solo PENDING
inviti. Un amministratore di dominio può anche recuperare gli inviti nello stato COMPLETED
fornendo un parametro 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')))
Elenca i tutori attivi
Per determinare quali utenti sono tutori attivi per un determinato
studente, utilizza il metodo userProfiles.guardians.list()
. I tutori attivi sono quelli che hanno accettato l'invito.
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')))
Rimuovere i tutori
Puoi anche rimuovere un tutore da uno studente utilizzando il metodo
userProfiles.guardians.delete()
:
Java
Python
service.userProfiles().guardians().delete(studentId='student@mydomain.edu',
guardianId='guardian@gmail.com').execute()