REST Resource: forms

Ресурс: Форма

Документ Google Форм. Форма создается на Диске, а удаление формы или изменение защиты доступа осуществляется через Drive API .

JSON-представление
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Поля
formId

string

Только вывод. Идентификатор формы.

info

object ( Info )

Необходимый. Название и описание формы.

settings

object ( FormSettings )

Настройки формы. Это необходимо обновить с помощью UpdateSettingsRequest ; он игнорируется во время forms.create и UpdateFormInfoRequest .

items[]

object ( Item )

Необходимый. Список элементов формы, который может включать заголовки разделов, вопросы, встроенные медиафайлы и т. д.

revisionId

string

Только вывод. Идентификатор редакции формы. Используется в WriteControl в запросах на обновление для определения версии, на которой основаны изменения.

Формат идентификатора версии может меняться со временем, поэтому к нему следует относиться непрозрачно. Возвращенный идентификатор версии гарантированно действителен только в течение 24 часов после его возврата и не может быть передан другим пользователям. Если идентификатор ревизии не меняется между вызовами, то форма не изменилась. И наоборот, изменение идентификатора (для той же формы и пользователя) обычно означает, что форма была обновлена; однако изменение идентификатора также может быть связано с внутренними факторами, такими как изменения формата идентификатора.

responderUri

string

Только вывод. URI формы, которым можно поделиться с ответчиками. Откроется страница, на которой пользователь может отправлять ответы, но не редактировать вопросы.

linkedSheetId

string

Только вывод. Идентификатор связанной таблицы Google, в которой накапливаются ответы из этой формы (если такая таблица существует).

Информация

Общая информация для формы.

JSON-представление
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Поля
title

string

Необходимый. Заголовок формы, видимый ответчикам.

documentTitle

string

Только вывод. Название документа, которое отображается на Диске. Если Info.title пусто, documentTitle может появиться на своем месте в пользовательском интерфейсе Google Forms и быть видимым для респондентов. documentTitle можно установить при создании, но нельзя изменить с помощью запроса пакетного обновления. Используйте Google Drive API , если вам нужно программно обновить documentTitle .

description

string

Описание формы.

Настройки формы

Настройки формы.

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

object ( QuizSettings )

Настройки, связанные с формами тестов и оценками.

Настройки викторины

Настройки, связанные с формами тестов и оценками. Их необходимо обновить с помощью UpdateSettingsRequest.

JSON-представление
{
  "isQuiz": boolean
}
Поля
isQuiz

boolean

Является ли эта форма викториной или нет. Если это правда, ответы оцениваются на основе Grading вопроса. При установке значения false все Grading вопросов удаляются.

Элемент

Отдельный элемент формы. kind определяет, какой это тип элемента.

JSON-представление
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
Поля
itemId

string

Идентификатор элемента.

Его можно указать при создании, но идентификатор не должен уже использоваться в форме. Если он не указан, назначается новый идентификатор.

title

string

Название предмета.

description

string

Описание предмета.

kind поля Союза. Необходимый. Что это за предмет. kind может быть только одним из следующих:
questionItem

object ( QuestionItem )

Задаёт вопрос пользователю.

questionGroupItem

object ( QuestionGroupItem )

Задает пользователю один или несколько вопросов с помощью одной основной подсказки.

pageBreakItem

object ( PageBreakItem )

Начинает новую страницу с заголовком.

textItem

object ( TextItem )

Отображает заголовок и описание на странице.

imageItem

object ( ImageItem )

Отображает изображение на странице.

videoItem

object ( VideoItem )

Отображает видео на странице.

ВопросЭлемент

Элемент формы, содержащий один вопрос.

JSON-представление
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Поля
question

object ( Question )

Необходимый. Отображаемый вопрос.

image

object ( Image )

Изображение, отображаемое внутри вопроса.

Вопрос

Любой вопрос. Конкретный тип вопроса определяется его kind .

JSON-представление
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
Поля
questionId

string

Только чтение. Идентификатор вопроса.

Его можно указать при создании, но идентификатор не должен уже использоваться в форме. Если он не указан, назначается новый идентификатор.

required

boolean

Необходимо ли ответить на вопрос, чтобы респондент мог представить свой ответ.

grading

object ( Grading )

Настройка оценок за вопрос.

kind поля Союза. Необходимый. Тип вопроса, предлагаемого респонденту. kind может быть только одним из следующих:
choiceQuestion

object ( ChoiceQuestion )

Респондент может выбрать один из заранее определенных вариантов.

textQuestion

object ( TextQuestion )

Респондент может ввести произвольный текстовый ответ.

scaleQuestion

object ( ScaleQuestion )

Респондент может выбрать номер из диапазона.

dateQuestion

object ( DateQuestion )

Респондент может ввести дату.

timeQuestion

object ( TimeQuestion )

Респондент может ввести время.

fileUploadQuestion

object ( FileUploadQuestion )

Респондент может загрузить один или несколько файлов.

rowQuestion

object ( RowQuestion )

Строка объекта QuestionGroupItem .

ВыборВопрос

Вопрос о радио/флажке/выпадающем списке.

JSON-представление
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Поля
type

enum ( ChoiceType )

Необходимый. Тип вопроса выбора.

options[]

object ( Option )

Необходимый. Список вариантов, из которых респондент должен выбрать.

shuffle

boolean

Должны ли варианты отображаться в случайном порядке для разных экземпляров викторины. Это часто используется для предотвращения мошенничества со стороны респондентов, которые могут смотреть на экран другого респондента, или для устранения предвзятости в опросе, которая может возникнуть из-за того, что одни и те же варианты всегда ставятся первыми или последними.

Тип выбора

Тип выбора.

Перечисления
CHOICE_TYPE_UNSPECIFIED Значение по умолчанию. Неиспользованный.
RADIO Радиокнопки: пользователю отображаются все варианты выбора, и он может выбрать только один из них.
CHECKBOX Флажки: все варианты отображаются пользователю, который может выбрать любое их количество.
DROP_DOWN Раскрывающееся меню: варианты выбора отображаются пользователю только по требованию, в противном случае отображается только текущий выбор. Можно выбрать только один вариант.

Вариант

Вариант вопроса на выбор.

JSON-представление
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
Поля
value

string

Необходимый. Выбор, представленный пользователю.

image

object ( Image )

Отобразить изображение как вариант.

isOther

boolean

Является ли вариант «другим». В настоящее время применяется только к типам выбора RADIO и CHECKBOX , но не разрешено в QuestionGroupItem .

Поле объединения go_to_section . В какой раздел перейти, если выбран этот вариант. В настоящее время применяется только к типам выбора RADIO и SELECT , но не разрешено в QuestionGroupItem . go_to_section может быть только одним из следующих:
goToAction

enum ( GoToAction )

Тип навигации по разделу.

goToSectionId

string

Идентификатор элемента заголовка раздела, к которому нужно перейти.

Перейти к действию

Константы для навигации по разделам.

Перечисления
GO_TO_ACTION_UNSPECIFIED Значение по умолчанию. Неиспользованный.
NEXT_SECTION Перейти к следующему разделу.
RESTART_FORM Вернитесь в начало формы.
SUBMIT_FORM Отправьте форму немедленно.

Изображение

Данные, представляющие изображение.

JSON-представление
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
Поля
contentUri

string

Только вывод. URI, с которого можно загрузить изображение; это действительно только в течение ограниченного времени.

altText

string

Описание изображения, которое отображается при наведении и читается программами чтения с экрана.

properties

object ( MediaProperties )

Свойства изображения.

Поле объединения image_source . Тип источника изображения. При создании новых изображений должно быть задано ровно одно поле источника изображения. image_source может быть только одним из следующих:
sourceUri

string

Только ввод. Исходный URI — это URI, используемый для вставки изображения. Исходный URI может быть пустым при получении.

МедиаСвойства

Свойства СМИ.

JSON-представление
{
  "alignment": enum (Alignment),
  "width": integer
}
Поля
alignment

enum ( Alignment )

Позиция СМИ.

width

integer

Ширина носителя в пикселях. Когда медиафайл отображается, он масштабируется до меньшего из этого значения или ширины отображаемой формы. Исходное соотношение сторон носителя сохраняется. Если ширина не указана при добавлении мультимедиа в форму, она устанавливается равной ширине источника мультимедиа. Ширина должна находиться в диапазоне от 0 до 740 включительно. Установка ширины на 0 или не указана разрешена только при обновлении источника мультимедиа.

Выравнивание

Выравнивание на странице.

Перечисления
ALIGNMENT_UNSPECIFIED Значение по умолчанию. Неиспользованный.
LEFT Выровнять по левому краю.
RIGHT Выровнять по правому краю.
CENTER Центр.

ТекстВопрос

Текстовый вопрос.

JSON-представление
{
  "paragraph": boolean
}
Поля
paragraph

boolean

Является ли вопрос вопросом абзаца или нет. Если нет, то вопрос представляет собой короткий текстовый вопрос.

МасштабВопрос

Масштабный вопрос. Пользователь может выбирать из диапазона числовых значений.

JSON-представление
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Поля
low

integer

Необходимый. Наименьшее возможное значение шкалы.

high

integer

Необходимый. Максимально возможное значение шкалы.

lowLabel

string

Отображаемая метка, описывающая самую низкую точку шкалы.

highLabel

string

Отображаемая метка, описывающая самую высокую точку шкалы.

ДатаВопрос

Вопрос о дате. Вопросы о дате по умолчанию содержат только месяц + день.

JSON-представление
{
  "includeTime": boolean,
  "includeYear": boolean
}
Поля
includeTime

boolean

Включать ли время в вопрос.

includeYear

boolean

Включать ли год как часть вопроса.

ВремяВопрос

Вопрос времени.

JSON-представление
{
  "duration": boolean
}
Поля
duration

boolean

true , если вопрос касается прошедшего времени. В противном случае речь идет о времени суток.

FileUploadВопрос

Вопрос по загрузке файла. API в настоящее время не поддерживает создание вопросов по загрузке файлов.

JSON-представление
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Поля
folderId

string

Необходимый. Идентификатор папки Диска, в которой хранятся загруженные файлы.

types[]

enum ( FileType )

Типы файлов, принимаемые по этому вопросу.

maxFiles

integer

Максимальное количество файлов, которые можно загрузить по этому вопросу в одном ответе.

maxFileSize

string ( int64 format)

Максимальное количество байтов, разрешенное для любого отдельного файла, загруженного на этот вопрос.

Тип файла

Типы файлов, которые можно загрузить в вопрос о загрузке файлов.

Перечисления
FILE_TYPE_UNSPECIFIED Значение по умолчанию. Неиспользованный.
ANY Никаких ограничений по типу.
DOCUMENT Документ Google Docs.
PRESENTATION Презентация Google Slides.
SPREADSHEET Таблица Google Таблиц.
DRAWING Рисунок.
PDF PDF-файл.
IMAGE Изображение.
VIDEO Видео.
AUDIO Аудиофайл.

СтрокаВопрос

Конфигурация вопроса, входящего в группу вопросов.

JSON-представление
{
  "title": string
}
Поля
title

string

Необходимый. Заголовок отдельной строки в QuestionGroupItem .

Оценка

Оценка за один вопрос

JSON-представление
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Поля
pointValue

integer

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

correctAnswers

object ( CorrectAnswers )

Необходимый. Ключ ответа на вопрос. Ответы автоматически оцениваются на основе этого поля.

whenRight

object ( Feedback )

Отзыв отображается для правильных ответов. Эту обратную связь можно установить только для вопросов с несколькими вариантами ответов, на которые даны правильные ответы.

whenWrong

object ( Feedback )

Отзыв отображается для неправильных ответов. Эту обратную связь можно установить только для вопросов с несколькими вариантами ответов, на которые даны правильные ответы.

generalFeedback

object ( Feedback )

Отзыв отображается для всех ответов. Это обычно используется для вопросов с коротким ответом, когда владелец викторины хочет быстро дать респондентам представление о том, правильно ли они ответили на вопрос, прежде чем у них будет возможность официально оценить ответ. Общую обратную связь нельзя установить для автоматически оцениваемых вопросов с несколькими вариантами ответов.

Правильные ответы

Ключ ответа на вопрос.

JSON-представление
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Поля
answers[]

object ( CorrectAnswer )

Список правильных ответов. Ответ на тест может быть автоматически оценен на основе этих ответов. Для однозначных вопросов ответ помечается как правильный, если он соответствует любому значению в этом списке (другими словами, возможно несколько правильных ответов). Для вопросов с несколькими значениями ( CHECKBOX ) ответ считается правильным, если он содержит именно значения из этого списка.

Правильный ответ

Единственный правильный ответ на вопрос. Для вопросов с несколькими значениями ( CHECKBOX ) может потребоваться несколько CorrectAnswer , чтобы представить один правильный вариант ответа.

JSON-представление
{
  "value": string
}
Поля
value

string

Необходимый. Правильная стоимость ответа. Подробную информацию о форматировании различных типов значений см. в документации к TextAnswer.value .

ВопросГруппаЭлемент

Определяет вопрос, который состоит из нескольких вопросов, сгруппированных вместе.

JSON-представление
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
Поля
questions[]

object ( Question )

Необходимый. Список вопросов, которые относятся к этой группе вопросов. Вопрос должен принадлежать только одной группе. kind группы может влиять на то, какие типы вопросов разрешены.

image

object ( Image )

Изображение, отображаемое в группе вопросов над конкретными вопросами.

kind поля Союза. Необходимый. Тип группы вопросов, определяющий, какие типы вопросов разрешены и как они отображаются. kind может быть только одним из следующих:
grid

object ( Grid )

Группа вопросов представляет собой сетку со строками вопросов с несколькими вариантами ответов, которые имеют одинаковые варианты. Если задана grid , все вопросы в группе должны относиться к row .

Сетка

Сетка вариантов выбора (переключатель или флажки), где каждая строка представляет собой отдельный вопрос. Каждая строка имеет одинаковые варианты выбора, которые показаны в виде столбцов.

JSON-представление
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Поля
columns

object ( ChoiceQuestion )

Необходимый. Варианты выбора, общие для каждого вопроса в таблице. Другими словами, значения столбцов. Разрешены только варианты CHECK_BOX и RADIO .

shuffleQuestions

boolean

Если true , вопросы располагаются в случайном порядке. Другими словами, строки отображаются в разном порядке для каждого респондента.

PageBreakItem

Разрыв страницы. Название и описание этого элемента отображаются вверху новой страницы.

Текститем

Текстовый элемент.

ImageItem

Элемент, содержащий изображение.

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

object ( Image )

Необходимый. Изображение, отображаемое в элементе.

Видеоэлемент

Элемент, содержащий видео.

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

object ( Video )

Необходимый. Видео, отображаемое в элементе.

caption

string

Текст, отображаемый под видео.

видео

Данные, представляющие видео.

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

string

Необходимый. URI YouTube.

properties

object ( MediaProperties )

Свойства видео.

Методы

batchUpdate

Измените форму с помощью пакета обновлений.

create

Создайте новую форму, используя заголовок, указанный в предоставленном сообщении формы в запросе.

get

Получите форму.