開發人員可以使用 Google Classroom API 與 Google Classroom 中的課程互動。以這種方式使用 API 的應用程式稱為 CourseWork
整合。
這項整合路徑通常用於建立及評分連結至 Classroom 以外資源的作業。與 Classroom 分享按鈕相比,可讓開發人員提供更多課程作業管理存取權。
運作方式
CourseWork
整合功能的核心功能,就是使用 Classroom API 建立及管理作業、公告和課程教材。
CourseWork
整合功能可讓老師在網站或應用程式中探索、指派及評分內容,這就是 CourseWork
整合功能可支援的常見使用者歷程:
- 老師使用者登入您的網站。
- 老師尋找或製作要與班級分享的內容。老師按一下網站上的按鈕,即可將內容傳送至 Google Classroom。
- 應用程式會向
courses.courseWork.create
發出要求。要求主體包含CourseWork
物件,其中包含:- 目的地課程 ID。
- 作業的標題。
- 作業的文字說明。
link
Material
,其中包含老師所選內容的網址。- 選用項目,所選內容可取得的最高分數。
- Classroom 會顯示新作業,並附上連結。連結是指
create
要求中指定的網址。範例請見圖 1。 - Classroom 成績單也會顯示作業的新資料欄,包括提供的最高分數。
- 學生收到作業後,按一下
link Material
即可在新分頁中開啟提供的網址,並查看或完成網站上的內容。您也可以視需要提供控制項,讓學生繳交作業。 - 您也可以向
courses.courseWork.studentSubmissions.modifyAttachments
發出要求,在學生提交的內容中新增附件,例如 Google 雲端硬碟檔案或指向學生網站作業的link Material
。 - 您也可以向
courses.courseWork.studentSubmissions.patch
發出要求,設定學生的作業成績。
圖 1. 使用 CourseWork
整合功能建立的 link Material
編輯作業時,老師的檢視畫面。
您也可以呼叫 courses.announcements.create
或 courses.courseWorkMaterials.create
來建立公告或課程教材,而非作業。如要進一步瞭解相關的 Classroom API 動作,請參閱「建立及管理課程作業」和「設定及更新成績」頁面。
注意事項
請先考量以下事項,再決定是否要為產品需求採用 CourseWork
整合功能。
- 您需要授權給使用者,並提示對方同意。您代表使用者提出 API 要求。舉例來說,您無法在「任何」Google Classroom 課程中建立課程作業,只能在授權使用者教導的課程中建立課程作業。
- 您需要提供使用者選取課程的方式,以便他們接收內容。
建議使用
courses.list
取得使用者教授的課程清單,然後允許使用者從清單中選取一或多門課程。 - 使用者在 Classroom 中點選
link Material
時,連結會在新分頁中開啟。開啟網址時,您的伺服器不會收到任何 Classroom 資訊。 - 老師可以自行修改或刪除課程,不必透過開發人員。這表示開發人員對課程作業的瞭解可能已過期。如果您需要瞭解課程異動情形,建議您設定推播通知,以便掌握課程異動情形。
- 老師可以在 Classroom UI 中建立課程作業,並在作業中加入網站網址的固定連結。以這種方式建立的課程由老師單獨擁有,因此您無法使用 Classroom API 查看、修改或設定提交成績。