與附件互動

本頁說明建立附件和與學生繳交作業的實作詳細資料。請注意,提出這些要求時,您可能需要提供連結相關參數

建立連結

向適當的 courses.*.addOnAttachments.create 端點發出 CREATE 要求以建立連結。要求主體中必須包含 AddOnAttachment 的執行個體。

建立附件時必須提供下列欄位:

  • title:附件的字串名稱。
  • teacherViewUri:附件的老師檢視畫面 URI。
  • studentViewUri:附件學生檢視畫面的 URI。
  • studentWorkReviewUri:老師查看附件中學生作業的 URI。只有活動類型附件才需要這個欄位。

建議您加入以下部分選填欄位:

  • dueDatedueTime (如要指定附件的到期時間)。
  • maxPoints:附件最高成績。如要支援成績傳回功能,這個值不得為零。僅適用於活動類型附件。

如要進一步瞭解這些欄位,請參閱 AddOnAttachment 資源參考資料。

學生作業繳交詳情

一般的提交流程如下:

  1. 學生啟動 studentViewUri 來完成活動。
  2. 這個外掛程式會使用學生憑證,從 getAddOnContext 方法擷取 submissionId
  3. 外掛程式開發人員會將 submissionIdattachmentId 做為學生作業的專屬 ID。如果老師在 Classroom 中複製作業,您可以使用這兩個參數的複合鍵,在複製的作業中顯示新附件。詳情請參閱複製的內容頁面。
  4. 如果老師想批改學生作業,就會啟動 studentWorkReviewUri。要求包含下列查詢參數:courseIditemIditemTypeattachmentIdsubmissionId
  5. 外掛程式開發人員會使用這四個 ID 擷取學生作業。請使用 courses.courseWork.addOnAttachments.studentSubmissions 端點擷取或修改學生繳交內容的相關資訊。

偵測提交狀態

courses.courseWork.addOnAttachments.studentSubmissions 端點發出 GET 要求,取得特定 submissionId 的詳細資料。您會收到 AddOnAttachmentStudentSubmission 物件,其中包含提交作業的成績 (pointsEarned) 和目前狀態 (postSubmissionState)。提交狀態可以是下列其中一個值:

  • NEW (如果學生從未存取學生繳交的作業)。
  • CREATED (如果學生已建立作業但尚未繳交)。
  • TURNED_IN (如果學生已繳交作業給老師)。
  • RETURNED (老師已將繳交的作業發還給學生)。
  • RECLAIMED_BY_STUDENT (學生「已取消繳交」作業時)。

您可以使用這個端點偵測外掛程式中的學生作業狀態。然後根據傳回的狀態,調整提供給學生的檢視畫面或選項。這些功能可能包括:

  • 在外掛程式中顯示作業繳交狀態。這有助於學生避免造成潛在的混淆,並確保他們不會誤交作業。
  • 限制繳交作業編輯權限。如果作業處於 CREATEDRECLAIMED_BY_STUDENT 狀態,學生或許就能編輯繳交的內容。如果作業的狀態為 TURNED_INRETURNED,學生可能無法編輯繳交的內容。

成績和多個附件

您只能使用一個外掛程式連結來設定單一作業的成績。如果老師建立多個提供 maxPoints 值的活動類型連結,則只有第一個這類連結才能設定指派成績。如果不設定 maxPoints 值或設為零,即可停用附件的成績回傳功能。

設定繳交作業的成績

您可以傳送 PATCH 要求至 courses.courseWork.addOnAttachments.studentSubmissions 端點,藉此修改學生繳交的作業。要求主體必須包含含有修改值的 AddOnAttachmentStudentSubmission 執行個體。設定 pointsEarned 欄位可修改學生繳交的成績。傳入 pointsEarned 的值會成為「草稿成績」,方便老師在 Classroom UI 中看見。老師在將作業發還給學生前,可以修改暫定成績。如要進一步瞭解如何向老師呈現成績,請參閱「Classroom UI 中的評分總覽」。

請注意,只有在下列情況下,您才能使用 pointsEarned 設定成績:

  • 連結必須為正數的 maxPoints 值。
  • 外掛程式必須是附件的原始建立者。

此外,您也可以向 addOnAttachments 端點發出 PATCH 要求,修改已建立的 AddOnAttachmentmaxPoints 值。

成績的設定時機

您可以選擇將成績傳回 Google Classroom。主要差別在於是否選擇儲存老師的憑證,因為只有老師可以修改成績。

您可以在兩個附加時刻將成績傳遞至 Google Classroom:當學生完成作業,或者老師在「學生作業審查」 iframe 中開啟學生作業時。

如要在學生完成作業時設定成績,您必須儲存老師的離線憑證,然後擷取和用於在學生完成作業時修改成績。這個方法提供一些潛在優點:

  • 提供順暢的成績更新。老師無須採取任何特殊動作,系統就會在 Classroom UI 中填入成績。
  • 透過作業提供即時深入分析資訊,讓您瞭解班級的學習進度。 將成績設為學生完成附件後,老師不必開啟每份提交內容,就能瞭解學生的理解程度。

請注意,這個方法也可用於進行「非同步」評分作業。您可以定期輪詢 AddOnAttachmentStudentSubmission 端點,偵測學生何時繳交作業。提交後,請使用儲存的憑證設定提交內容的成績。

如果您不想在學生工作階段期間載入老師的憑證,可在學生在「學生作業審查 iframe」中載入學生的提交內容時,使用運作中老師的憑證。不過,這可能無法帶來特別流暢的使用者體驗,因為 Classroom UI 中的成績不會即時更新,老師就需要開啟每次提交的學生作業審查 iframe。

偵測作業成績的變動

建立作業後,老師可以在 Classroom 中編輯成績設定。這類編輯可能包括:

  • 變更指派的分數值。
  • 變更作業的 maxPoints 值。
  • 變更是否應批改作業。

如要查看作業目前的評分設定,建議您傳送 GET 要求至 courses.courseWork 端點。回應會包含目前的 maxPoints 值。未評分作業的 maxPoints 值為空值或零。

如果您已將成績傳回 Classroom,請使用 courses.courseWork.addOnAttachments.studentSubmissions 端點擷取或更改外掛程式附件的成績。請使用 pointsEarned 欄位設定成績值。如果您的產品允許老師編輯特定活動的分數,建議您檢查並視需要更新這個值。