如要將內容新增至表單,或更新設定、中繼資料或內容,請使用 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 要求含有 requests 陣列,其中包含兩項 createItem 子要求。子要求 A 的 location.index 為 0,子要求 B 的 location.index 為 1。如果 requests 陣列為 [A, B],batchUpdate 就會成功。如果陣列是 [B, A],batchUpdate 會失敗,因為除非表單已在索引 0 處包含項目,否則 location.index 1 無效。