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 )

В зависимости от поля запроса bool 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 )

Обновите элемент.

Обновлениеформинфореквест

Обновить информацию формы.

JSON-представление
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
Поля
info

object ( Info )

Информация для обновления.

updateMask

string ( FieldMask format)

Необходимый. Изменяются только значения, указанные в этой маске. Должно быть указано хотя бы одно поле. info о корне подразумевается и не должна указываться. Одиночный символ "*" можно использовать как сокращение для обновления каждого поля.

Это разделенный запятыми список полных имен полей. Пример: "user.displayName,photo" .

Запрос на обновление настроек

Обновите FormSettings формы.

JSON-представление
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
Поля
settings

object ( FormSettings )

Необходимый. Настройки для обновления.

updateMask

string ( FieldMask format)

Необходимый. Изменяются только значения, указанные в этой маске. Должно быть указано хотя бы одно поле. Корневые 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 )

Необходимый. Новое местоположение элемента.

Удалитьемрекуест

Удаление элемента в форме.

JSON-представление
{
  "location": {
    object (Location)
  }
}
Поля
location

object ( Location )

Необходимый. Местоположение элемента, который нужно удалить.

Запрос обновления элемента

Обновите элемент в форме.

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 (ошибка неверного запроса). Запрос можно повторить после прочтения последней версии формы. В большинстве случаев целевой идентификатор редакции остается действительным в течение нескольких минут после его считывания, но для часто редактируемых форм это окно может быть короче.

Ответ

Единственный ответ на обновление.

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

Идентификатор вопроса, созданного как часть этого элемента. Для группы вопросов перечислены идентификаторы всех вопросов, созданных для этого элемента.