如需向表单添加内容或更新设置、元数据或内容,请使用 batchUpdate() 方法,该方法会将更改分组到批次中,以便在一个请求失败时,不会写入任何其他(可能依赖于该请求的)更改。
batchUpdate() 方法会返回一个响应正文,其中包含每个请求的响应。每个响应都占据与相应请求相同的索引;对于没有适用响应的请求,该索引处的响应将为空。
准备工作
在继续执行本页上的任务之前,请先执行以下任务:
- 按照抢先体验计划说明完成授权/身份验证和凭据设置。
更新元数据、设置或项
以下示例展示了如何更新表单的元数据,但内容和设置的结构相同,它们使用 updateItem 或 updateSettings 请求,而不是 updateFormInfo。 对于每个请求,您需要提供要更改的字段的名称和更新后的值,以及 updateMask 值,以将更改限制为您指定的字段。
REST
如需更新表单的说明,请使用表单 ID 和更新后的说明值调用
batchUpdate()
方法。
请求正文示例
"requests": [{
"updateFormInfo": {
"info": {
"description": "Please complete this quiz based on this week's readings for class."
},
"updateMask": "description"
}
}]
Python
Node.js
添加项目
以下示例展示了如何向表单添加新内容。添加新内容时,您必须提供一个位置,其中包含应插入新内容的索引。例如,索引为 0 的位置会将内容插入到表单的开头。
REST
如需向表单添加项目,请使用表单 ID 以及项目的相关信息和所选位置调用
batchUpdate()
方法。
请求正文示例
"requests": [{
"createItem": {
"item": {
"title": "Homework video",
"description": "Quizzes in Google Forms",
"videoItem": {
"video": {
"youtubeUri": "https://www.youtube.com/watch?v=Lt5HqPvM-eI"
}
}},
"location": {
"index": 0
}
}]
Python
Node.js
请求顺序
The batchUpdate()
方法接受子请求数组,例如 createItem 和 updateItem。
系统会按照提供的顺序一次验证一个子请求。
示例:batchUpdate 请求有一个 requests 数组,其中包含两个 createItem 子请求。子请求 A 的 location.index 为 0,
子请求 B 的 location.index 为 1。如果 requests 数组为 [A, B],则 batchUpdate 将成功。如果数组为 [B, A],则 batchUpdate 将失败,因为除非表单已包含索引为 0 的项目,否则 location.index 1 无效。