Method: forms.batchUpdate

เปลี่ยนแบบฟอร์มโดยใช้การอัปเดตเป็นกลุ่ม

คำขอ HTTP

POST https://forms.googleapis.com/v1/forms/{formId}:batchUpdate

URL ใช้ไวยากรณ์การแปลง gRPC

พารามิเตอร์เส้นทาง

พารามิเตอร์
formId

string

ต้องระบุ รหัสแบบฟอร์ม

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

การแสดง JSON
{
  "includeFormInResponse": boolean,
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
ช่อง
includeFormInResponse

boolean

เลือกว่าจะแสดงโมเดลเวอร์ชันอัปเดตในคำตอบหรือไม่

requests[]

object (Request)

ต้องระบุ คำขออัปเดตของกลุ่มนี้

writeControl

object (WriteControl)

มอบสิทธิ์ในการควบคุมวิธีดำเนินการตามคำขอเขียน

เนื้อหาการตอบกลับ

ตอบกลับ BatchUpdateFormRequest

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
ช่อง
form

object (Form)

ขึ้นอยู่กับช่องคำขอบูลีน includeFormInResponse ระบบจะแสดงผลแบบฟอร์มที่มีการกลายพันธุ์/การอัปเดตที่ใช้ทั้งหมดหรือไม่ ซึ่งอาจช้ากว่ารหัสการแก้ไขที่การเปลี่ยนแปลงเหล่านี้สร้างขึ้น

replies[]

object (Response)

การตอบกลับการอัปเดต การจับคู่แบบ 1:1 กับคำขออัปเดต แม้ว่าการตอบกลับคำขอบางรายการอาจว่างเปล่าก็ตาม

writeControl

object (WriteControl)

การควบคุมการเขียนที่อัปเดตหลังจากใช้คำขอ

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth รายการใดรายการหนึ่งต่อไปนี้

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

สำหรับข้อมูลเพิ่มเติม โปรดดูที่คู่มือการให้สิทธิ์

ส่งคำขอ

ประเภทของคำขออัปเดตที่สร้างขึ้นได้

การแสดง JSON
{

  // Union field kind can be only one of the following:
  "updateFormInfo": {
    object (UpdateFormInfoRequest)
  },
  "updateSettings": {
    object (UpdateSettingsRequest)
  },
  "createItem": {
    object (CreateItemRequest)
  },
  "moveItem": {
    object (MoveItemRequest)
  },
  "deleteItem": {
    object (DeleteItemRequest)
  },
  "updateItem": {
    object (UpdateItemRequest)
  }
  // End of list of possible types for union field kind.
}
ช่อง
ช่องการรวม kind ประเภทคำขอ kind ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
updateFormInfo

object (UpdateFormInfoRequest)

อัปเดตข้อมูลของแบบฟอร์ม

updateSettings

object (UpdateSettingsRequest)

อัปเดตการตั้งค่าของแบบฟอร์ม

createItem

object (CreateItemRequest)

สร้างรายการใหม่

moveItem

object (MoveItemRequest)

ย้ายรายการไปยังตำแหน่งที่ระบุ

deleteItem

object (DeleteItemRequest)

ลบรายการ

updateItem

object (UpdateItemRequest)

อัปเดตรายการ

UpdateFormInfoRequest

อัปเดตข้อมูลของแบบฟอร์ม

การแสดง JSON
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
ช่อง
info

object (Info)

ข้อมูลที่จะอัปเดต

updateMask

string (FieldMask format)

ต้องระบุ มีการเปลี่ยนแปลงเฉพาะค่าที่มีชื่อในมาสก์นี้ ต้องระบุอย่างน้อย 1 ช่อง ราก info เป็นคำโดยนัยและไม่ควรระบุ คุณสามารถใช้ "*" เดียวเป็นสัญญาณสั้นๆ สำหรับการอัปเดตทุกฟิลด์ได้

ซึ่งเป็นรายการชื่อที่ตรงตามเกณฑ์ทั้งหมดของช่องที่คั่นด้วยคอมมา ตัวอย่าง: "user.displayName,photo"

UpdateSettingsRequest

อัปเดต FormSettings ของแบบฟอร์ม

การแสดง JSON
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
ช่อง
settings

object (FormSettings)

ต้องระบุ การตั้งค่าที่จะอัปเดต

updateMask

string (FieldMask format)

ต้องระบุ มีการเปลี่ยนแปลงเฉพาะค่าที่มีชื่อในมาสก์นี้ ต้องระบุอย่างน้อย 1 ช่อง ราก settings เป็นคำโดยนัยและไม่ควรระบุ คุณสามารถใช้ "*" เดียวเป็นสัญญาณสั้นๆ สำหรับการอัปเดตทุกฟิลด์ได้

ซึ่งเป็นรายการชื่อที่ตรงตามเกณฑ์ทั้งหมดของช่องที่คั่นด้วยคอมมา ตัวอย่าง: "user.displayName,photo"

CreateItemRequest

สร้างรายการในแบบฟอร์ม

การแสดง JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
ช่อง
item

object (Item)

ต้องระบุ รายการที่จะสร้าง

location

object (Location)

ต้องระบุ ตำแหน่งที่จะวางรายการใหม่

ตำแหน่ง

ตำแหน่งที่เจาะจงในแบบฟอร์ม

การแสดง JSON
{

  // Union field where can be only one of the following:
  "index": integer
  // End of list of possible types for union field where.
}
ช่อง
ช่องการรวม where ต้องระบุ ระบุตำแหน่งในแบบฟอร์ม where ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
index

integer

ดัชนีของรายการในแบบฟอร์ม ค่านี้ต้องอยู่ในช่วง

[0..N)

โดยที่ N คือจำนวนรายการในแบบฟอร์ม

MoveItemRequest

ย้ายรายการในแบบฟอร์ม

การแสดง JSON
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
ช่อง
originalLocation

object (Location)

ต้องระบุ ตำแหน่งของรายการที่จะย้าย

newLocation

object (Location)

ต้องระบุ ตำแหน่งใหม่สำหรับรายการ

DeleteItemRequest

ลบรายการในแบบฟอร์ม

การแสดง JSON
{
  "location": {
    object (Location)
  }
}
ช่อง
location

object (Location)

ต้องระบุ ตำแหน่งของรายการที่จะลบ

UpdateItemRequest

อัปเดตรายการในแบบฟอร์ม

การแสดง JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
ช่อง
item

object (Item)

ต้องระบุ ค่าใหม่สำหรับรายการ โปรดทราบว่าระบบจะใช้รหัสสินค้าและรหัสคำถามหากมี (และอยู่ในมาสก์ของช่อง) หากรหัสว่างเปล่า (และในมาสก์ของช่อง) ระบบจะสร้างรหัสใหม่ขึ้นมา ซึ่งหมายความว่าคุณจะแก้ไขรายการได้โดยรับแบบฟอร์มผ่าน forms.get แก้ไขสำเนาในตัวเครื่องของรายการนั้นให้อยู่ในรูปแบบที่ต้องการ และใช้ UpdateItemRequest เพื่อเขียนกลับ โดยที่รหัสจะเหมือนกัน (หรือไม่อยู่ในมาสก์ของช่อง)

location

object (Location)

ต้องระบุ ตำแหน่งที่ระบุรายการที่จะอัปเดต

updateMask

string (FieldMask format)

ต้องระบุ มีการเปลี่ยนแปลงเฉพาะค่าที่มีชื่อในมาสก์นี้

ซึ่งเป็นรายการชื่อที่ตรงตามเกณฑ์ทั้งหมดของช่องที่คั่นด้วยคอมมา ตัวอย่าง: "user.displayName,photo"

WriteControl

มอบสิทธิ์ในการควบคุมวิธีดำเนินการตามคำขอเขียน

การแสดง JSON
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
ช่อง
ช่องการรวม control กำหนดการแก้ไขของแบบฟอร์มที่จะใช้การเปลี่ยนแปลง และกำหนดลักษณะการทำงานของคำขอหากการแก้ไขดังกล่าวไม่ใช่การแก้ไขปัจจุบันของแบบฟอร์ม control ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
requiredRevisionId

string

รหัสการแก้ไขของแบบฟอร์มที่ใช้คำขอเขียน หากนี่ไม่ใช่การแก้ไขล่าสุดของแบบฟอร์ม คำขอจะไม่ได้รับการประมวลผลและแสดงข้อผิดพลาด 400 คำขอผิดพลาด

targetRevisionId

string

รหัสการแก้ไขเป้าหมายของแบบฟอร์มที่ใช้คำขอเขียน

หากมีการเปลี่ยนแปลงเกิดขึ้นหลังจากการแก้ไขนี้ การเปลี่ยนแปลงในคำขออัปเดตนี้จะมีการเปลี่ยนแปลงตามการเปลี่ยนแปลงเหล่านั้น การดำเนินการดังกล่าวจะส่งผลให้เกิดการแก้ไขใหม่ของฟอร์ม ซึ่งประกอบด้วยการเปลี่ยนแปลงในคำขอและการเปลี่ยนแปลงที่ขัดขวาง โดยเซิร์ฟเวอร์กำลังแก้ปัญหาการเปลี่ยนแปลงที่ขัดแย้งกัน

รหัสการแก้ไขเป้าหมายสามารถใช้เพื่อเขียนในแบบฟอร์มเวอร์ชันล่าสุดเท่านั้น หากการแก้ไขเป้าหมายช้ากว่าการแก้ไขล่าสุดมากเกินไป คำขอจะไม่ได้รับการประมวลผลและส่งคืน 400 (ข้อผิดพลาดของคำขอไม่ถูกต้อง) คุณสามารถส่งคำขอได้อีกครั้งหลังจากอ่านแบบฟอร์มเวอร์ชันล่าสุดแล้ว ในกรณีส่วนใหญ่ รหัสการแก้ไขเป้าหมายจะยังคงใช้งานได้เป็นเวลาหลายนาทีหลังจากที่อ่านแล้ว แต่สำหรับแบบฟอร์มที่แก้ไขบ่อย หน้าต่างนี้อาจสั้นลง

คำตอบ

คำตอบเดียวจากการอัปเดต

การแสดง JSON
{

  // Union field kind can be only one of the following:
  "createItem": {
    object (CreateItemResponse)
  }
  // End of list of possible types for union field kind.
}
ช่อง
ช่องการรวม kind ประเภทของคำตอบ kind ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
createItem

object (CreateItemResponse)

ผลของการสร้างรายการ

CreateItemResponse

ผลของการสร้างรายการ

การแสดง JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
ช่อง
itemId

string

รหัสของรายการที่สร้าง

questionId[]

string

รหัสของคำถามที่สร้างขึ้นเพื่อเป็นส่วนหนึ่งของรายการนี้ สำหรับกลุ่มคำถาม จะมีการแสดงรหัสของคำถามทั้งหมดที่สร้างขึ้นสำหรับรายการนี้