Method: forms.batchUpdate

Thay đổi biểu mẫu bằng một loạt nội dung cập nhật.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Tham số
formId

string

Bắt buộc. Mã biểu mẫu.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "includeFormInResponse": boolean,
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Trường
includeFormInResponse

boolean

Liệu có trả về phiên bản cập nhật của mô hình trong phản hồi hay không.

requests[]

object (Request)

Bắt buộc. Các yêu cầu cập nhật của lô này.

writeControl

object (WriteControl)

Cho phép kiểm soát cách thực thi các yêu cầu ghi.

Nội dung phản hồi

Phản hồi BatchUpdateFormRequest.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Trường
form

object (Form)

Dựa trên trường yêu cầu bool includeFormInResponse, một biểu mẫu có tất cả các trường hợp biến đổi/cập nhật đã áp dụng sẽ được trả về hoặc không. Mã này có thể muộn hơn mã bản sửa đổi do những thay đổi này tạo.

replies[]

object (Response)

Câu trả lời về thông tin cập nhật. URL này liên kết 1:1 với các yêu cầu cập nhật, mặc dù thư trả lời cho một số yêu cầu có thể bị trống.

writeControl

object (WriteControl)

Chế độ điều khiển ghi được cập nhật sau khi áp dụng yêu cầu.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

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

Để biết thêm thông tin, hãy xem Hướng dẫn uỷ quyền.

Yêu cầu

Các loại yêu cầu cập nhật có thể được đưa ra.

Biểu diễn dưới dạng 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.
}
Trường
Trường kết hợp kind. Loại yêu cầu. kind chỉ có thể là một trong những trạng thái sau đây:
updateFormInfo

object (UpdateFormInfoRequest)

Cập nhật thông tin của biểu mẫu.

updateSettings

object (UpdateSettingsRequest)

Cập nhật chế độ cài đặt của Biểu mẫu.

createItem

object (CreateItemRequest)

Tạo một mục mới.

moveItem

object (MoveItemRequest)

Di chuyển một mục đến một vị trí chỉ định.

deleteItem

object (DeleteItemRequest)

Xoá một mục.

updateItem

object (UpdateItemRequest)

Cập nhật một mục.

UpdateFormInfoRequest

Cập nhật thông tin của biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
Trường
info

object (Info)

Thông tin cần cập nhật.

updateMask

string (FieldMask format)

Bắt buộc. Chỉ các giá trị có tên trong mặt nạ này mới được thay đổi. Bạn phải chỉ định ít nhất một trường. info gốc đã được ngụ ý và không được chỉ định. Bạn có thể sử dụng một "*" làm rút gọn để cập nhật mọi trường.

Đây là danh sách các tên trường đủ điều kiện được phân tách bằng dấu phẩy. Ví dụ: "user.displayName,photo"

UpdateSettingsRequest

Cập nhật FormSettings của Biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
Trường
settings

object (FormSettings)

Bắt buộc. Các chế độ cài đặt cần cập nhật.

updateMask

string (FieldMask format)

Bắt buộc. Chỉ các giá trị có tên trong mặt nạ này mới được thay đổi. Bạn phải chỉ định ít nhất một trường. settings gốc đã được ngụ ý và không được chỉ định. Bạn có thể sử dụng một "*" làm rút gọn để cập nhật mọi trường.

Đây là danh sách các tên trường đủ điều kiện được phân tách bằng dấu phẩy. Ví dụ: "user.displayName,photo"

CreateItemRequest

Tạo một mục trong biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
Trường
item

object (Item)

Bắt buộc. Mục cần tạo.

location

object (Location)

Bắt buộc. Vị trí đặt mục mới.

Vị trí

Một vị trí cụ thể trong một biểu mẫu.

Biểu diễn dưới dạng JSON
{

  // Union field where can be only one of the following:
  "index": integer
  // End of list of possible types for union field where.
}
Trường
Trường kết hợp where. Bắt buộc. Chỉ định một vị trí trong biểu mẫu. where chỉ có thể là một trong những trạng thái sau đây:
index

integer

Chỉ mục của một mục trong biểu mẫu. Giá trị này phải nằm trong phạm vi

[0..N)

, trong đó N là số lượng mục trong biểu mẫu.

MoveItemRequest

Di chuyển một mục trong biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
Trường
originalLocation

object (Location)

Bắt buộc. Vị trí của mục cần di chuyển.

newLocation

object (Location)

Bắt buộc. Vị trí mới cho mục.

DeleteItemRequest

Xoá một mục trong biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "location": {
    object (Location)
  }
}
Trường
location

object (Location)

Bắt buộc. Vị trí của mục cần xoá.

UpdateItemRequest

Cập nhật một mục trong biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
Trường
item

object (Item)

Bắt buộc. Các giá trị mới cho mục. Xin lưu ý rằng mã mục và mã câu hỏi sẽ được sử dụng nếu có cung cấp (và nằm trong mặt nạ trường). Nếu một mã nhận dạng trống (và trong mặt nạ trường), thì một mã nhận dạng mới sẽ được tạo. Tức là bạn có thể sửa đổi một mục bằng cách lấy biểu mẫu thông qua forms.get, sửa đổi bản sao trên máy của mục đó theo ý bạn và sử dụng UpdateItemRequest để ghi lại mục đó, với các mã nhận dạng giống nhau (hoặc không có trong mặt nạ trường).

location

object (Location)

Bắt buộc. Vị trí xác định mục cần cập nhật.

updateMask

string (FieldMask format)

Bắt buộc. Chỉ các giá trị có tên trong mặt nạ này mới được thay đổi.

Đây là danh sách các tên trường đủ điều kiện được phân tách bằng dấu phẩy. Ví dụ: "user.displayName,photo"

WriteControl

Cho phép kiểm soát cách thực thi các yêu cầu ghi.

Biểu diễn dưới dạng 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.
}
Trường
Trường kết hợp control. Xác định bản sửa đổi của biểu mẫu mà từ đó các thay đổi sẽ được áp dụng và cách yêu cầu sẽ hoạt động nếu bản sửa đổi đó không phải là bản sửa đổi hiện tại của biểu mẫu. control chỉ có thể là một trong những trạng thái sau đây:
requiredRevisionId

string

Mã sửa đổi của biểu mẫu sẽ được áp dụng yêu cầu ghi. Nếu đây không phải là bản sửa đổi mới nhất của biểu mẫu, thì yêu cầu đó sẽ không được xử lý và trả về lỗi yêu cầu không hợp lệ 400.

targetRevisionId

string

Mã sửa đổi đích của biểu mẫu mà yêu cầu ghi được áp dụng.

Nếu có thay đổi sau lần sửa đổi này thì những thay đổi trong yêu cầu cập nhật này sẽ được chuyển đổi so với những thay đổi đó. Kết quả là trong một bản sửa đổi mới của biểu mẫu, kết hợp cả thay đổi trong yêu cầu và các thay đổi xen kẽ, với máy chủ giải quyết các thay đổi gây mâu thuẫn.

Mã bản sửa đổi đích chỉ có thể được dùng để ghi vào các phiên bản gần đây của một biểu mẫu. Nếu bản sửa đổi đích quá xa so với bản sửa đổi mới nhất, yêu cầu sẽ không được xử lý và trả về 400 (Lỗi yêu cầu không hợp lệ). Bạn có thể thử gửi lại yêu cầu sau khi đọc phiên bản mới nhất của biểu mẫu này. Trong hầu hết các trường hợp, mã bản sửa đổi mục tiêu vẫn có hiệu lực trong vài phút sau khi được đọc, nhưng đối với các biểu mẫu được chỉnh sửa thường xuyên, thời hạn này có thể ngắn hơn.

Phản hồi

Một phản hồi duy nhất trong bản cập nhật.

Biểu diễn dưới dạng JSON
{

  // Union field kind can be only one of the following:
  "createItem": {
    object (CreateItemResponse)
  }
  // End of list of possible types for union field kind.
}
Trường
Trường kết hợp kind. Loại phản hồi. kind chỉ có thể là một trong những trạng thái sau đây:
createItem

object (CreateItemResponse)

Kết quả tạo một mục.

CreateItemResponse

Kết quả tạo một mục.

Biểu diễn dưới dạng JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
Trường
itemId

string

Mã của mục đã tạo.

questionId[]

string

Mã của câu hỏi được tạo trong mục này, đối với một nhóm câu hỏi, mã này sẽ liệt kê mã của tất cả câu hỏi được tạo cho mục này.