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