如需向表单添加内容或更新设置、元数据或内容,请使用 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 无效。