Questa pagina descrive i dettagli di implementazione per la creazione di un allegato, le azioni consigliate quando gli utenti aprono gli allegati e l'utilizzo dei compiti degli studenti. Tieni presente che potresti dover fornire parametri relativi agli allegati quando effettui queste richieste.
Creare un allegato
Crea un allegato inviando una richiesta CREATE
all'endpoint courses.*.addOnAttachments.create
appropriato. La richiesta deve includere un'istanza di AddOnAttachment
nel corpo della richiesta.
I seguenti campi sono obbligatori quando crei un allegato:
title
: il nome della stringa dell'allegato.teacherViewUri
: l'URI della visualizzazione Insegnante dell'allegato.studentViewUri
: l'URI per la visualizzazione dello studente dell'allegato.studentWorkReviewUri
: l'URI per l'insegnante per visualizzare il lavoro dello studente nell'allegato. Questo campo è obbligatorio solo per gli allegati di tipo attività.
Ti consigliamo di includere alcuni dei seguenti campi facoltativi:
dueDate
edueTime
se specifichi la scadenza dell'allegato.maxPoints
: il voto massimo per l'allegato. Deve essere un valore diverso da zero se vuoi supportare il trasferimento dei voti. Si applica solo agli allegati di tipo attività.
Per ulteriori dettagli su questi campi, consulta il riferimento alla risorsa AddOnAttachment
.
Convalida le credenziali e il ruolo dell'utente
L'iframe Visualizzazione studente, l'iframe Revisione del lavoro dello studente e l'iframe Visualizzazione insegnante hanno tutti lo scopo di presentare contenuti all'utente anziché modificare un compito di Classroom. Quando una di queste visualizzazioni è aperta, valuta la possibilità di eseguire le seguenti operazioni:
- Ottieni le credenziali OAuth per l'utente.
- Invia una richiesta di
courseWork.getAddOnContext
,courseWorkMaterials.getAddOnContext
oannouncements.getAddOnContext
in base aitemType
per convalidare il ruolo utente. - Controlla la risposta per vedere se sono presenti
TeacherContext
oStudentContext
. Può essere restituito un solo valore, corrispondente al ruolo dell'utente nel corso. - Se l'utente attuale è uno studente e il
itemType
ècourseWork
, registra ilsubmissionId
dalla risposta con il lavoro dello studente.submissionIds
devono corrispondere nei vari iframe dei componenti aggiuntivi e sono necessari per restituire i voti e per mostrare il lavoro degli studenti agli insegnanti nello strumento di valutazione. - Se
attachmentId
è già noto al componente aggiuntivo, mostra l'interfaccia utente appropriata per gli allegati. - In caso contrario, questo allegato deve essere stato copiato da un altro elemento del flusso o corso. Consulta la guida Gestione dei contenuti copiati per consigli su questo scenario.
Dettagli dei compiti consegnati dallo studente
Un tipico flusso di lavoro di invio segue questi passaggi:
- Uno studente avvia
studentViewUri
per completare un'attività. - Il componente aggiuntivo recupera un
submissionId
dal metodogetAddOnContext
utilizzando le credenziali dello studente. submissionId
eattachmentId
vengono memorizzati dallo sviluppatore del componente aggiuntivo come identificatore univoco del lavoro dello studente. Nel caso in cui un insegnante copi un compito in Classroom, puoi utilizzare la chiave composita di questi due parametri per visualizzare un nuovo allegato nel compito copiato. Per maggiori dettagli, consulta la nostra pagina sui contenuti copiati.- Un insegnante interessato a rivedere il lavoro degli studenti avvia
studentWorkReviewUri
. La richiesta include i seguenti parametri di query:courseId
,itemId
,itemType
,attachmentId
esubmissionId
. - Lo sviluppatore del componente aggiuntivo utilizza questi quattro ID per recuperare il lavoro dello studente. Utilizza
l'endpoint
courses.courseWork.addOnAttachments.studentSubmissions
per recuperare o modificare le informazioni su un compito consegnato da uno studente.
Rilevare lo stato dell'invio
Invia una richiesta GET
all'endpoint
courses.courseWork.addOnAttachments.studentSubmissions
per ottenere
dettagli su un submissionId
specifico. Ricevi un oggetto
AddOnAttachmentStudentSubmission
, che contiene il voto dell'invio
(pointsEarned
) e lo stato attuale (postSubmissionState
). Lo stato dell'invio
può essere uno dei seguenti valori:
NEW
, se lo studente non ha mai avuto accesso all'invio.CREATED
, se lo studente ha creato un invio ma non l'ha ancora inviato.TURNED_IN
, se lo studente ha inviato il lavoro all'insegnante.RETURNED
, se l'insegnante ha restituito il compito allo studente.RECLAIMED_BY_STUDENT
, se lo studente ha "non inviato" il proprio lavoro.
Utilizza questo endpoint per rilevare lo stato del lavoro dello studente nel tuo componente aggiuntivo. A questo punto, potresti modificare le visualizzazioni o le opzioni fornite allo studente a seconda dello stato restituito. Potrebbero essere incluse funzionalità quali:
- Visualizzazione dello stato di consegna dei compiti all'interno del componente aggiuntivo. In questo modo gli studenti possono evitare potenziali confusione e assicurarsi di non mancare di consegnare un compito per errore.
- Limitazione dei privilegi di modifica degli invii. Se il compito ha lo stato
CREATED
oRECLAIMED_BY_STUDENT
, lo studente potrebbe essere autorizzato a modificare il proprio invio. Se il compito ha lo statoTURNED_IN
oRETURNED
, lo studente potrebbe non essere autorizzato a modificare i contenuti inviati.
Voti e più allegati
Per impostare il voto di un singolo compito, è possibile utilizzare un solo allegato del componente aggiuntivo. Se un insegnante crea più di un allegato di tipo attività che
fornisce un valore maxPoints
, solo il primo allegato di questo tipo può impostare
il voto dell'assegnazione. Lascia il valore maxPoints
non impostato o impostalo su zero per
disattivare il trasferimento dei voti per un allegato.
Impostare il voto di un invio
Puoi modificare l'invio di uno studente inviando una richiesta PATCH
all'endpoint
courses.courseWork.addOnAttachments.studentSubmissions
. Il corpo della richiesta deve includere un'istanza di AddOnAttachmentStudentSubmission
con i valori modificati. Imposta il campo pointsEarned
per modificare il voto di un invio.
Il valore passato in pointsEarned
diventa un voto in bozza� visibile all'insegnante nell'interfaccia utente di Classroom. Gli insegnanti possono modificare il voto provvisorio
prima di restituire il compito agli studenti. Per maggiori dettagli su come vengono presentati i voti agli insegnanti, consulta Panoramica della valutazione nell'interfaccia utente di Classroom.
Tieni presente che puoi impostare il voto con pointsEarned
solo se sono vere le seguenti
condizioni:
- L'allegato deve avere un valore
maxPoints
positivo. - Il componente aggiuntivo deve essere il creator originale dell'allegato.
Tieni presente inoltre che puoi modificare il valore maxPoints
di un AddOnAttachment
già creato inviando una richiesta PATCH
all'endpoint addOnAttachments
.
Quando impostare un voto
Puoi scegliere quando un voto viene inviato a Google Classroom. La distinzione fondamentale è se scegli di archiviare le credenziali dell'insegnante, in quanto solo l'insegnante può modificare un voto.
Esistono due momenti di aggiunta in cui potresti trasferire un voto a Google Classroom: quando lo studente completa il suo lavoro o quando l'insegnante apre il lavoro dello studente nell'iframe di revisione del lavoro dello studente.
Se vuoi impostare i voti quando lo studente completa il lavoro, devi memorizzare le credenziali offline di un insegnante, quindi recuperarle e utilizzarle per modificare il voto quando lo studente completa il lavoro. Questo metodo offre alcuni potenziali vantaggi:
- Fornire aggiornamenti dei voti senza interruzioni. Gli insegnanti non devono intraprendere alcuna azione speciale per fare in modo che i voti vengano visualizzati nell'interfaccia utente di Classroom.
- Fornire informazioni in tempo reale sull'avanzamento di una classe in un compito. Impostando i voti man mano che gli studenti completano gli allegati, gli insegnanti possono farsi un'idea della comprensione degli studenti senza aprire ogni invio.
Tieni presente che questo approccio consente anche un approccio asincrono alla sincronizzazione
dei voti. Potresti eseguire periodicamente il polling dell'endpoint AddOnAttachmentStudentSubmission
per rilevare quando uno studente ha inviato il proprio lavoro. Una volta inviato, imposta il voto dell'invio utilizzando le credenziali memorizzate.
Se non vuoi caricare le credenziali dell'insegnante durante la sessione di uno studente, puoi utilizzare le credenziali dell'insegnante attivo quando carica l'invio dello studente nell'iframe Revisione del lavoro dello studente. Tuttavia, l'esperienza utente potrebbe non essere particolarmente fluida, in quanto i voti nell'interfaccia utente di Classroom non vengono aggiornati in tempo reale e gli insegnanti dovrebbero aprire ogni iframe di revisione del lavoro dello studente.
Rilevare modifiche ai voti dei compiti
è possibile che gli insegnanti modifichino le impostazioni di valutazione in Classroom dopo la creazione di un compito. Queste modifiche potrebbero includere:
- Modifica del valore dei punti assegnati.
- Modifica del valore
maxPoints
di un compito. - Modificare se il compito deve essere valutato.
Per visualizzare le impostazioni di valutazione correnti di un compito, ti consigliamo di inviare
una richiesta GET
all'endpoint courses.courseWork
. La risposta include
il valore maxPoints
attuale. Un compito senza voto ha un valore maxPoints
nullo o pari a zero.
Se hai restituito un voto a Classroom, utilizza l'endpoint
courses.courseWork.addOnAttachments.studentSubmissions
per recuperare o
modificare il voto per un allegato del componente aggiuntivo. Il valore del grado viene impostato utilizzando il campo
pointsEarned
. Valuta la possibilità di controllare e, se necessario, aggiornare questo valore
se il tuo prodotto consente agli insegnanti di modificare il punteggio di uno studente per una determinata
attività.