Method: forms.batchUpdate

Thay đổi biểu mẫu bằng một loạt các 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

Các 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)
  }
}
Các 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)

Cung cấp quyền kiểm soát cách thực thi yêu cầu ghi.

Nội dung phản hồi

Phản hồi cho một 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)
  }
}
Các trường
form

object (Form)

Dựa trên trường yêu cầu boolean includeFormInResponse, một biểu mẫu có tất cả các nội dung cập nhật/thay đổi đã á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 mà những thay đổi này tạo ra.

replies[]

object (Response)

Nội dung trả lời của thông tin cập nhật. Thao tác này sẽ 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ậ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ể đư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.
}
Các trường
Trường nhóm 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 các 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í cụ thể.

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
}
Các trường
info

object (Info)

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

updateMask

string (FieldMask format)

Bắt buộc. Chỉ những 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 nên được chỉ định. Bạn có thể dùng một "*" duy nhất để viết tắt cho việc 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
}
Các 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ỉ những 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 nên được chỉ định. Bạn có thể dùng một "*" duy nhất để viết tắt cho việc 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)
  }
}
Các 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í

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.
}
Các trường
Trường nhóm 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)
  }
}
Các 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 của 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)
  }
}
Các 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
}
Các trường
item

object (Item)

Bắt buộc. Giá trị mới cho mục. Xin lưu ý rằng mã mặt hàng và mã câu hỏi được dùng nếu được cung cấp (và nằm trong mặt nạ cho trường). Nếu một mã nhận dạng bị trống (và nằm trong mặt nạ cho 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 qua forms.get, sửa đổi bản sao cục bộ của mục đó theo cách bạn muốn, rồi 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 ở 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ỉ những 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

Cung cấp quyền kiểm soát cách thực thi 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.
}
Các trường
Trường nhóm control. Xác định bản sửa đổi của biểu mẫu để áp dụng các thay đổi và cách hoạt động của yêu cầu 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ã bản sửa đổi của biểu mẫu đượ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 400 không hợp lệ.

targetRevisionId

string

Mã bản sửa đổi mục tiêu của biểu mẫu được áp dụng yêu cầu ghi.

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 đó. Điều này dẫn đến một bản sửa đổi mới của biểu mẫu, kết hợp cả các thay đổi trong yêu cầu và các thay đổi can thiệp, trong đó máy chủ giải quyết các thay đổi gây mâu thuẫn.

Bạn chỉ có thể sử dụng mã sửa đổi mục tiêu để 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 mục tiêu quá xa so với bản sửa đổi mới nhất, thì 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ử yêu cầu lại sau khi đọc phiên bản mới nhất của biểu mẫu. Trong hầu hết các trường hợp, mã sửa đổi mục tiêu 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, khoảng thời gian này có thể ngắn hơn.

Phản hồi

Một phản hồi từ một lầ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.
}
Các trường
Trường nhóm kind. Kiểu 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ả của việc tạo một mục.

CreateItemResponse

Kết quả của việc tạo một mục.

Biểu diễn dưới dạng JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
Các 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ã đó sẽ liệt kê mã của mọi câu hỏi được tạo cho mục này.