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 Bad Request

targetRevisionId

string

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

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

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

คำตอบ

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

การแสดง 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

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