要求的運作方式

本頁面概略說明要求在 Google Classroom API 中的運作方式。目的是協助不熟悉以資源為導向的設計或 Google Workspace API 的讀者。

如需特定程式碼範例,請參閱相應的 API 指南,例如「建立及管理課程」或「建立及管理課程作業」。

資源導向設計

如「API 結構」一節所述,Classroom API 遵循資源導向設計模式。大多數資源都有標準作業的方法,例如建立、讀取、更新及刪除資源的例項。

舉例來說,您可以使用 API create()patch()get()list()delete() Classroom Course

建立

如要建立新的資源 (例如 Course),請呼叫對應資源的 create() 方法。

Create() 呼叫一律需要對應資源的初始重要詳細資料做為輸入內容。舉例來說,如要建立 Course,請在 Course 資源上呼叫 create() 方法,並在要求中指定 namedescription,以及 room 等選用資訊。

對於子資源 (有時稱為子項資源),也需要父項資源的 ID。舉例來說,在 Course 中建立 CourseWork 時,需要 Course id 來建立 CourseWork 所屬的 Course

Create() 方法會在 API 呼叫回應中傳回新建立資源的例項。傳回的資源通常會包含任何額外的伺服器產生欄位,例如資源 idcreationTime

修補程式

如要修改現有資源,請在對應資源上呼叫 patch() 方法 (有時稱為 update())。patch() 方法幾乎與 create() 相同,但有兩個主要差異:呼叫 patch() 方法時,您必須指定:

  1. 要修改的資源 id
  2. 欄位清單 (稱為 updateMask),用於決定要更新資源的哪些欄位。如果有預設欄位組合或推斷欄位,則可選擇不使用這個屬性。

Patch() 方法會在 API 呼叫回應中傳回已更新資源的完整例項,並完成所有變更。

取得及列出

擷取資源的方法有兩種:get()list()

get() 方法會根據某些 ID 擷取特定資源。例如,根據 idalias 擷取 Courseget() 呼叫會直接傳回完整資源。

list() 方法會在單一要求中擷取多個相同類型的資源,而不需要個別的資源 ID。list() 作業通常會取得某些父項資源的所有子資源,例如擷取 Course 中的所有 CourseWork。與發出多個 get() 呼叫相比,這有助於減少要求,特別是在您不知道所需資源的 id 時,這項做法特別有用。

一般來說,list() 方法在單一呼叫中可傳回的資源數量有上限,您可以透過在呼叫中加入 pageSize 值,設定較低的限制。如果資源數量超過限制,list() 方法就會支援分頁;每個傳回的結果「頁面」都會提供 pageToken,可納入後續 list() 呼叫,用來擷取下一批資源。

刪除

delete() 方法會接受資源 ID (例如 id),並刪除對應的資源。如果 delete() 成功,系統會傳回空白回應。

其他運算

上述標準作業無法執行 Classroom API 的所有作業,例如修改 CourseWork 資源的指派對象。在這種情況下,您可以使用自訂方法,例如 modifyAssignees 方法。這些方法的行為是專屬的,因此請個別參閱相關說明文件。