要求的運作方式

本頁面提供 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) 可判斷要更新資源的哪些欄位。如果有一組預設欄位或系統會推斷欄位,則可省略這項步驟。

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

取得並列出

您可以透過 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 方法。這些方法的行為是專屬的,因此請個別參閱相關說明文件。