Questa guida illustra la creazione di allegati di componenti aggiuntivi nel tuo sito web o nella tua applicazione. Le interazioni sono simili alla creazione di compiti utilizzando l'API CourseWork. endpoint. Implementa questo percorso per consentire agli utenti di creare allegati di componenti aggiuntivi dal tuo sito web o dalla tua applicazione.
Flusso di lavoro
A livello generale, il percorso di creazione degli allegati segue questa sequenza:
- Un utente insegnante apre il tuo sito web o la tua app. Selezionano dei contenuti per assegnare agli studenti.
- Verifica che l'utente possa creare allegati di componenti aggiuntivi.
- Se l'utente non riesce a creare allegati di componenti aggiuntivi, crea un'attività del corso con l'URL dei contenuti selezionati come Materiale link.
- Se l'utente può creare allegati di componenti aggiuntivi:
- .
- Crea un compito.
- Crea un allegato di un componente aggiuntivo che si colleghi ai contenuti selezionati e associarlo al nuovo compito.
- Comunica all'insegnante che il compito è stato creato correttamente.
Ciascuna azione è descritta nelle sezioni seguenti.
Verificare se un utente può creare allegati di componenti aggiuntivi
Puoi creare allegati di componenti aggiuntivi per conto di un utente idoneo. Un idoneo l'utente è un utente che è un insegnante del corso che stai cercando di creare I compiti del corso in e include la Learning o Education Plus Licenza della versione Google Workspace for Education assegnata.
Inizia determinando se l'utente può creare componenti aggiuntivi in una determinata Course
.
Invia una richiesta all'endpoint courses.checkAddOnCreationEligibility
incluso l'ID corso.
Python
eligibility_response = (
classroom_service.courses()
.checkAddOnCreationEligibility(courseId=course_id)
.execute()
)
is_create_attachment_eligible = (
eligibility_response.get('isCreateAttachmentEligible')
)
print(f'User eligibility for course {eligibility_response.get("courseId")}'
f': {is_create_attachment_eligible}.')
Se l'utente è idoneo, la risposta contiene il valore booleano
Valore di isCreateAttachmentEligible
impostato su true
. Se l'utente non è idoneo,
la risposta non restituirà il valore booleano isCreateAttachmentEligible
.
Indirizzare l'utente in base alla sua idoneità
L'idoneità determina se puoi creare allegati di componenti aggiuntivi per un utente.
Utente non idoneo
Se l'utente non riesce a creare allegati di componenti aggiuntivi, crea un nuovo CourseWork
con l'URL dei contenuti selezionato dall'utente come Link
.
Python
if not is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Link Material',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
'materials': [
{'link': {'url': my_content_url}}
]
}
assignment = (
service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Link Material assignment created with ID: {assignment.get("id")}'
)
La risposta contiene un compito nel corso richiesto con i contenuti
in allegato. Gli utenti possono fare clic sulla Link
per aprire i contenuti del tuo sito in una nuova
.
Figura 1. Vista dell'insegnante di una bozza di compito di CourseWork con Link Material.
Utente idoneo
Procedi nel seguente modo se l'utente può creare allegati di componenti aggiuntivi.
- Crea un nuovo compito in
CourseWork
senza allegati. - Crea l'allegato di un componente aggiuntivo.
- Imposta
itemId
diAddOnAttachment
sul valoreid
del campo compito. - Assicurati di fornire gli URL dei contenuti selezionati dall'utente per ogni visualizzazione supportate.
- Imposta
Python
if is_create_attachment_eligible:
coursework = {
'title': 'My CourseWork Assignment with Add-on Attachment',
'description': 'Created using the Classroom CourseWork API.',
'workType': 'ASSIGNMENT',
'state': 'DRAFT', # Set to 'PUBLISHED' to assign to students.
'maxPoints': 100,
}
assignment = (
classroom_service.courses()
.courseWork()
.create(courseId=course_id, body=coursework)
.execute()
)
print(
f'Empty assignment created with ID: {assignment.get("id")}'
)
attachment = {
'teacherViewUri': {'uri': teacher_view_url},
'studentViewUri': {'uri': student_view_url},
'studentWorkReviewUri': {'uri': grade_student_work_url},
'title': f'Test Attachment {test_label}',
}
add_on_attachment = (
service.courses()
.courseWork()
.addOnAttachments()
.create(
courseId=course_id,
itemId=assignment.get("id"), # ID of the new assignment.
body=attachment,
)
.execute()
)
print(
f'Add-on attachment created with ID: {add_on_attachment.get("id")}'
)
Il componente aggiuntivo viene visualizzato come scheda allegato in Classroom. Gli URL specificato nella richiesta, apri nel riquadro iframe per ogni vista.