如需向表单添加内容或更新设置、元数据或内容,请使用 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
申请订单
batchUpdate()
方法接受子请求数组,例如 createItem
和 updateItem
。按照提供子请求的顺序,一次验证一个子请求。
示例:batchUpdate
请求具有包含两个 createItem
子请求的 requests
数组。子请求 A 的 location.index
为 0,子请求 B 的 location.index
为 1。如果 requests
数组为 [A, B],则 batchUpdate
将会成功。如果数组为 [B, A],则 batchUpdate
将失败,因为除非表单已包含索引 0 处的项目,否则 location.index
1 无效。