本頁面提供 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
) 可判斷要更新資源的哪些欄位。如果有一組預設欄位或系統會推斷欄位,則可省略這項步驟。
方法會在 API 呼叫回應中傳回更新後資源的完整例項,並完成所有變更。Patch()
取得並列出
您可以透過 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
方法。這些方法的行為是專屬的,因此請個別參閱相關說明文件。