如要將內容新增至表單,或更新設定、中繼資料或內容,請使用 batchUpdate()
方法,這可將變更分組成批次,以便在某個要求失敗時,不寫入任何其他 (可能相關) 變更。
batchUpdate()
方法會傳回回應內文,其中包含每項要求的回應。每個回應都會與對應的要求占用相同的索引;如果要求沒有適用的回應,該索引的回應會為空白。
事前準備
請先執行下列工作,再繼續執行本頁中的任務:
- 按照「早期採用者計畫」說明完成授權/驗證和憑證設定
更新中繼資料、設定或項目
以下範例說明如何更新表單的中繼資料,但內容和設定的結構相同,因為它們使用 updateItem
或 updateSettings
要求,而非 updateFormInfo
。針對每項要求,您都必須提供要變更的欄位名稱和更新值,以及 updateMask
值,以限制對您指定欄位的變更。
如要更新表單說明,請使用表單 ID 和更新的說明值呼叫 batchUpdate()
方法。
要求主體範例
"requests": [{
"updateFormInfo": {
"info": {
"description": "Please complete this quiz based on this week's readings for class."
},
"updateMask": "description"
}
}]
新增項目
以下範例說明如何在表單中新增內容。新增內容時,您必須提供位置和索引,指出應插入新內容的位置。舉例來說,索引為 0
的位置會在表單開頭插入內容。
如要在表單中新增項目,請使用表單 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
}
}]
要求訂單
batchUpdate()
方法會接受子要求的陣列,例如 createItem
和 updateItem
。系統會依提供的順序逐一驗證子要求。
範例:batchUpdate
要求包含一個 requests
陣列,其中有兩個 createItem
子要求。子要求 A 有 location.index
0,子要求 B 有 location.index
1。如果 requests
陣列為 [A, B],batchUpdate
就會成功。如果陣列為 [B, A],batchUpdate
會失敗,因為 location.index
1 無效,除非表單已在索引 0 中包含項目。