请求的运作方式

本页面简要介绍了请求在 Google Classroom API 中的运作方式。目的是为不熟悉以资源为导向的设计或 Google Workspace API 的读者提供帮助。

如需查看具体代码示例,请参阅相应的 API 指南,例如创建和管理课程创建和管理课程作业

面向资源的设计

API 结构中所述,Classroom API 遵循面向资源的设计模式。大多数资源都提供了用于执行标准操作的方法,例如创建、读取、更新和删除资源实例。

例如,您可以使用此 API create()patch()get()list()delete() Google 课堂 Course

创建

如需创建新资源(例如 Course),请调用相应资源的 create() 方法。

Create() 调用始终需要相应资源的初始重要详细信息作为输入。例如,如需创建 Course,请对 Course 资源调用 create() 方法,并在请求中指定 namedescription,以及 room 等可选信息。

对于子资源(有时称为“子资源”),还需要父资源的标识符。例如,在 Course 中创建 CourseWork 时,需要使用 Course id 来确定 CourseWork 属于哪个 Course

Create() 方法会在 API 调用响应中返回新创建的资源的实例。返回的资源通常包含服务器生成的任何其他字段,例如资源 idcreationTime

补丁

如需修改现有资源,请对相应资源调用 patch() 方法(有时称为 update())。patch() 方法与 create() 几乎完全相同,但有两个关键区别:调用 patch() 方法时,您必须指定:

  1. 要修改的资源的 id
  2. 一个字段列表(称为 updateMask),用于确定要更新资源上的哪些字段。如果存在一组默认字段或系统推断出字段,则此字段为可选字段。

Patch() 方法会在 API 调用响应中返回更新后的资源的完整实例,其中包含完成的所有更改。

获取和列出

检索资源的方法有两种:get()list()

get() 方法可按某个标识符检索特定资源。例如,根据 idalias 提取 Courseget() 调用会直接返回完整资源。

list() 方法可在单次请求中检索同一类型的多个资源,而无需单独的资源标识符。通常,list() 操作会获取某个父级资源的所有子资源,例如,检索 Course 中的所有 CourseWork。与发出多个 get() 调用相比,这有助于尽量减少请求,尤其是在您不知道所需资源的 id 时,这一点尤为重要。

通常,list() 方法在单次调用中可返回的资源数量存在上限,您可以通过在调用中添加 pageSize 值来配置较低的上限。如果资源数量超出限制,list() 方法支持分页;返回的每个“页面”结果都会提供 pageToken,该令牌可包含在后续的 list() 调用中,以提取下一批资源。

删除

delete() 方法接受资源标识符(例如 id),并删除相应的资源。如果 delete() 成功,则返回一个空响应。

其他运算

并非所有可通过 Classroom API 执行的操作都可以通过上述标准操作实现,例如修改 CourseWork 资源的分配对象。在这些情况下,可以使用自定义方法,例如 modifyAssignees 方法。这些方法的行为是量身定制的,您应单独查阅它们的文档。