本页面简要介绍了 Google Classroom API 中请求的工作原理。目的是为不熟悉以资源为导向的设计或 Google Workspace API 的读者提供帮助。
如需查看具体代码示例,请参阅相应的 API 指南,例如创建和管理课程或创建和管理课程作业。
面向资源的设计
如API 结构中所述,Classroom API 遵循面向资源的设计模式。大多数资源都提供了用于执行标准操作的方法,例如创建、读取、更新和删除资源实例。
例如,您可以使用此 API create()
、patch()
、get()
、list()
和 delete()
Google 课堂 Course
。
创建
如需创建新资源(例如 Course
),请调用相应资源的 create()
方法。
Create()
调用始终需要相应资源的初始重要详细信息作为输入。例如,如需创建 Course
,请对 Course
资源调用 create()
方法,并在请求中指定 name
和 description
,以及 room
等可选信息。
对于子资源(有时称为子资源),还需要父资源的标识符。例如,在 Course
中创建 CourseWork
时,需要使用 Course
id
来确定 CourseWork
属于哪个 Course
。
Create()
方法会在 API 调用响应中返回新创建的资源的实例。返回的资源通常包含服务器生成的任何其他字段,例如资源 id
或 creationTime
。
补丁
如需修改现有资源,请对相应资源调用 patch()
方法(有时称为 update()
)。patch()
方法与 create()
几乎完全相同,但有两个关键区别:调用 patch()
方法时,您必须指定:
- 要修改的资源的
id
。 - 名为
updateMask
的字段列表,用于确定要更新的资源上的哪些字段。如果存在一组默认字段或字段是推断出的,这是可选的。
Patch()
方法会在 API 调用响应中返回已更新资源的完整实例,并且所有更改都已完成。
获取和列出
检索资源的方法有两种:get()
和 list()
。
get()
方法可按某个标识符检索特定资源。例如,根据 id
或 alias
提取 Course
。get()
调用会直接返回完整资源。
list()
方法可在单个请求中检索多个相同类型的资源,而无需使用各个资源标识符。list()
操作通常会获取某个父级资源的所有子资源,例如,检索 Course
中的所有 CourseWork
。与进行多次 get()
调用相比,这对于最大限度地减少请求非常有用,在不知道所需资源的 id
时尤其有用。
通常,list()
方法可在单次调用中返回的资源量达到一定上限,并且可以在调用时添加 pageSize
值来配置下限。如果资源数量超出限制,list()
方法支持分页;返回的每个“页面”结果都会提供 pageToken
,该令牌可包含在后续的 list()
调用中,以提取下一批资源。
删除
delete()
方法接受资源标识符(例如 id
),并删除相应的资源。如果 delete()
成功,则返回一个空响应。
其他运算
并非所有使用 Classroom API 能够完成的操作都可以通过上述标准操作来实现,例如,修改 CourseWork
资源的分配对象。在这些情况下,可以使用自定义方法,例如 modifyAssignees
方法。这些方法的行为是量身定制的,您应单独查阅它们的文档。