API 結構

本指南將概略介紹 Google Classroom API 的主要元件。Google Classroom API 包含資源服務。資源代表 Google Classroom 中的實體 (例如課程或作業),而服務會擷取及管理這些資源。除了 Classroom 中的屬性外,部分實體還有其他 API 專屬的屬性。主要實體類型如下:

實體 在 Classroom 中的表示法
課程 類別,例如「M. Smith 的 4 節數學課」。
別名 課程的替代 ID。
邀請 將使用者加入課程的方法。
學生 課堂中的學生。
老師 課程中的老師。
使用者個人資料 使用者 (不限於學生或老師)。
CourseWork 課程中的作業。
StudentSubmissions 學生出的作業,例如答案或工作表。
CourseWorkMaterials 課程學生的教材。
公告事項 向課程學生發布公告。
AddOnAttachment 作業或素材上的內容或活動,通常以嵌入 iframe 的形式顯示。
主題 課程中作業和教材的視覺化分組。
註冊 指示將資料變更 (例如課程學生名單) 的通知傳送至應用程式。

大多數資源都有服務方法,可用於執行標準作業,例如讀取、更新及刪除資源的例項。有些資源還有其他作業適用的自訂方法,例如修改已指派特定作業的學生清單。

如需 API 資源和方法的詳細資訊,請參閱 Classroom API 參考資料

資源關係總覽

  • 課程是 Google Classroom 中的基本資料物件。
  • 別名可做為 Courses 的替代 ID。
  • 「邀請」可用來邀請使用者個人資料,在 Course 中成為老師學生,但 Google Workspace for Education 網域管理員也可以直接新增使用者。
  • 老師可以建立串流項目,並與課程學生分享。可能的串流項目類型為 CourseworkCourseWorkMaterials公告CourseWorkCourseWorkMaterials 能以視覺化方式整理成 Topics,且可包含 AddOnAttachments。學生提交 CourseWorkStudentSubmissions
  • 開發人員可以建立註冊,在部分資料變更時收到通知。

Google Classroom 適用於訂閱 Google Workspace for Education 的網域。Classroom 情境中的網域通常代表學區。您可以建立 Google Workspace for Education 測試網域,用於開發目的,這樣就能控制 Classroom 的正式版例項,而不影響實際使用者。

課程和別名

Courses 代表類別,例如「M. 4 節數學課程」和指派的老師、學生名單和中繼資料。每門課程都會由伺服器指派的專屬 ID 識別。Course 資源專門封裝課程的所有中繼資料,例如名稱、說明、位置和時間。課程學生名單是透過學生老師邀請資源及其方法管理。

Aliases 是課程的替代 ID,可能與課程相關聯,並用於取代專屬 ID。每個別名都存在於命名空間 限制能建立及查看該別名的人員系統支援兩個命名空間:

  • 網域:網域命名空間可用於建立所有使用者都需要存取的別名,但不限於任何一個程式。舉例來說,應在網域命名空間中建立課程的其他課程清單,例如 MATH 127 和 COMSCI 127。網域名稱空間中的別名只能由網域管理員建立,但網域中的所有使用者都可以查看。
  • 開發人員專案:開發人員專案命名空間可用來管理應用程式專屬的別名。舉例來說,如果應用程式使用課程的替代 ID,則可以建立別名,將其 ID 對應至 Classroom 課程。在此命名空間中建立的別名會連結至特定的 Google API 控制台。應用程式的任何使用者都可以在該應用程式的開發人員專案命名空間中建立及查看別名。

如要進一步瞭解如何管理課程中繼資料和別名,請參閱管理課程

課程名單和使用者

StudentsTeachers 是使用者個人資料和課程之間的特定對應項目,代表使用者在課程中的角色。學生和老師的職稱並非全域性:使用者可在某門課程擔任老師,在另一門課程擔任學生。「學生」或「教師」代表特定課程中特定使用者的一組權限。

學生

Student 資源代表以學生身分註冊特定課程的使用者。

學生可以查看課程詳細資料,以及課程的授課老師。

教師

Teacher 資源代表教授特定課程的使用者。

老師可以查看及變更課程詳細資料、查看老師和學生,以及管理其他老師和學生。

Invitations 及其相關方法提供方便的方式,可將學生和老師加入課程。建立邀請後,使用者可以選擇是否加入課程,而您不必透過老師和學生資源直接將他們加入。

UserProfiles 代表使用者網域個人資料的對應項目,可透過 Directory API 傳回的使用者專屬 ID 或電子郵件地址來識別。目前使用者也可以使用 "me" 速記符號參照自己的 ID。

UserProfiles 服務也可用於管理及邀請 Guardians,這是學生與監護人之間的對應。Classroom 中的監護人可以存取部分學生資訊,例如作業。

如要進一步瞭解如何管理學生名單,請參閱「管理老師和學生」。

課程作業和學生繳交的作業

CourseWork 項目代表課程中指派給一組學生的單一工作,其中包含說明、截止日期和資料等詳細資料,以及建立時間等中繼資料。材質包含標題、縮圖、網址,以及可與適當 API (例如雲端硬碟、YouTube) 搭配使用的 ID。

CourseWork 項目會說明下列任務類型之一:

  • 學生透過提交工作表或其他附件來完成的作業。
  • 簡答題或選擇題。

CourseWork 項目的學生作業會以 StudentSubmission 表示。其中包含回應和其他中繼資料,例如狀態和指派的成績。

StudentSubmission 的內容取決於對應 CourseWork 項目的類型:

  • 為作業提交的工作表和附件,包括標題、縮圖和網址,以及可與適當 API (例如 Google 雲端硬碟或 YouTube) 搭配使用的 ID。
  • 簡答題或選擇題答案。

如要進一步瞭解如何管理課程作業和學生提交內容,請參閱「管理課堂作業」。

課程作業教材和公告

CourseWork 類似,CourseWorkMaterials 代表指派給課程中一組學生的內容,包括標題和說明等詳細資料,以及教材。但與 CourseWork 不同的是,CourseWorkMaterials 不需要學生提交任何成果。因此,CourseWorkMaterials 沒有截止日期,也沒有 StudentSubmissions。舉例來說,老師可能會使用 CourseWorkMaterials 張貼建議讀數、課程大綱或課堂規則。

Announcements 也代表與一群學生分享的內容,但沒有標題等詳細資料,也無法以 Topics 進行排序,例如 CourseWorkCourseWorkMaterials。老師可能會使用這些功能向班上學生發布提醒或通知。

主題

Topics 可用於在類別中視覺化排列 CourseWorkCourseWorkMaterials。例如,您可以使用這些標籤將作業分組為「選修」和「必修」,或是「單元 1」和「單元 2」。

Classroom 外掛程式

外掛程式是開發人員提供的 UI,後端通常會顯示在 iframe 中。外掛程式會以附件形式顯示在訊息串項目中。串流項目可以是任何 AnnouncementsCourseWorkCourseWorkMaterials。外掛程式附件會以 AddOnAttachment 表示。

外掛程式附件可以是活動內容

  • 活動附件需要學生完成並提交個別提交內容。例如測驗、圖表或遊戲。活動提交內容可以選擇是否要評分。
  • 您不需要要求學生提交內容附件。學生不需要繳交附件,也不會獲得成績。例如相片、文章和影片。

詳情請參閱外掛程式開發指南

註冊

應用程式可以在 Google Classroom 中訂閱特定資料變更的通知。例如課程名單更新時。Registrations 代表傳送這些通知至應用程式的指令。

詳情請參閱推播通知指南