请求的运作方式

本页面简要介绍了 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 方法。这些方法的行为是量身定制的,您应单独查阅它们的文档。