本頁面概略說明要求在 Google Classroom API 中的運作方式。目的是協助不熟悉以資源為導向的設計或 Google Workspace API 的讀者。
如需特定程式碼範例,請參閱對應的 API 指南,例如「建立及管理課程」或「建立及管理課程作業」。
資源導向設計
如「API 結構」一節所述,Classroom API 遵循資源導向設計模式。大多數資源都有標準作業的方法,例如建立、讀取、更新及刪除資源的例項。
舉例來說,您可以使用 API create()
、patch()
、get()
、list()
和 delete()
Classroom Course
。
建立
如要建立新的資源 (例如 Course
),請呼叫對應資源的 create()
方法。
Create()
呼叫一律需要對應資源的初始重要詳細資料做為輸入內容。舉例來說,如要建立 Course
,請在 Course
資源上呼叫 create()
方法,並在要求中指定 name
和 description
,以及 room
等選用資訊。
對於子資源 (有時稱為子項資源),也需要父項資源的 ID。舉例來說,在 Course
中建立 CourseWork
時,需要 Course
id
來建立 CourseWork
所屬的 Course
。
Create()
方法會在 API 呼叫回應中傳回新建資源的例項。傳回的資源通常會包含任何額外的伺服器產生欄位,例如資源 id
或 creationTime
。
修補程式
如要修改現有資源,請在對應資源上呼叫 patch()
方法 (有時稱為 update()
)。patch()
方法幾乎與 create()
相同,但有兩個主要差異:呼叫 patch()
方法時,您必須指定:
- 要修改的資源
id
。 - 欄位清單 (稱為
updateMask
),用於決定要更新資源的哪些欄位。如果有預設欄位組合或推斷欄位,則可選擇不使用這個屬性。
Patch()
方法會在 API 呼叫回應中傳回已更新資源的完整例項,並完成所有變更。
取得及列出
擷取資源的方法有兩種:get()
和 list()
。
get()
方法會根據某些 ID 擷取特定資源。例如,根據 id
或 alias
擷取 Course
。get()
呼叫會直接傳回完整資源。
list()
方法會在單一要求中擷取多個相同類型的資源,而不需要個別的資源 ID。list()
作業通常會取得某些父項資源的所有子資源,例如擷取 Course
中的所有 CourseWork
。與發出多個 get()
呼叫相比,這有助於減少要求次數,特別是在您不知道所需資源的 id
時,這項做法特別有用。
一般來說,list()
方法在單一呼叫中可傳回的資源數量有上限,您可以透過在呼叫中加入 pageSize
值,設定較低的限制。如果資源數量超過限制,list()
方法就會支援分頁;每個傳回的結果「頁面」都會提供 pageToken
,可在後續 list()
呼叫中加入,用於擷取下一批資源。
刪除
delete()
方法會接受資源 ID (例如 id
),並刪除對應的資源。如果 delete()
成功,系統會傳回空白回應。
其他運算
上述標準作業無法執行 Classroom API 的所有作業,例如修改 CourseWork
資源的指派對象。在這種情況下,您可以使用自訂方法,例如 modifyAssignees
方法。這些方法的行為是專屬的,因此請個別參閱相關說明文件。