Una risorsa per i tutori rappresenta un utente, ad esempio un genitore, che riceve informazioni sui corsi e sul lavoro di uno studente. Il tutore, che in genere non è membro del dominio di Classroom dello studente, deve essere invitato utilizzando il suo indirizzo email per diventare un tutore.
Questo invito crea una
risorsa GuardianInvito
con stato PENDING
. L'utente 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.
Mentre l'invito ha uno stato PENDING
, l'utente può accettarlo, creando una risorsa Guardian e contrassegnando GuardianInvitation con uno stato COMPLETED
. Un invito può diventare COMPLETED
anche se scade o se un utente autorizzato lo annulla (ad esempio utilizzando il metodo PatchGuardianInvitation
). Un rapporto con il tutore può essere interrotto anche da un tutore, un insegnante di Classroom o un amministratore utilizzando l'interfaccia utente 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 attualmente autenticato:
Ambiti
Esistono tre ambiti che ti consentono di gestire i tutori:
- https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly ti consente di visualizzare i tutori di un utente.
- https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly consente di 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 consente di visualizzare e modificare i sorveglianti e gli inviti per i sorveglianti 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.
Crea un invito come 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')))
Il risultato include un identificatore assegnato dal server che può essere utilizzato per fare riferimento a GuardianInvito.
Annullare un invito come tutore
Per annullare un invito, modifica lo stato dell'invito da PENDING
a
COMPLETE
chiamando il metodo userProfiles.guardianInvitations.patch()
.
Tieni presente che al momento 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()
:
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')))
Per impostazione predefinita, verranno restituiti solo PENDING
inviti. In qualità di amministratore di dominio, puoi anche recuperare gli inviti nello stato COMPLETED
fornendo un parametro degli stati.
Elenca i tutori attivi
Se vuoi stabilire quali utenti sono tutori attivi per uno studente
specifico, puoi utilizzare il metodo userProfiles.guardians.list()
. I tutori attivi sono tutori che hanno accettato l'invito via email.
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()