Чтобы предоставить создателям форм больше контроля над тем, кто может отвечать, мы вводим детальный контроль для респондентов. Формы, созданные с помощью API после 31 января 2026 года, по умолчанию будут иметь неопубликованное состояние. Чтобы узнать больше, см.
Изменения API в Google Forms .
Обзор
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
API Google Forms — это RESTful-интерфейс, позволяющий создавать и изменять формы и тесты, получать ответы форм и оценки за тесты, настраивать ключи ответов с автоматической обратной связью и получать push-уведомления. Наиболее распространённые применения этого API включают следующие задачи:
- Создайте форму или тест
- Публикация и управление ответчиками
- Обновить форму или тест
- Извлечение ответов из формы или теста
- Чтение содержимого формы и метаданных
- Настройте и получайте push-уведомления
- Ниже приведен список общих терминов, используемых в API форм:
- Форма
Документ Google Форм, созданный и сохранённый на Диске. Каждая форма представлена ресурсом Form
и имеет уникальное значение formId
, содержащее буквы, цифры, дефисы или символы подчёркивания. Идентификатор формы можно найти в URL-адресе Google Форм:
https://docs.google.com/forms/d/FORM_ID/edit
- Контрольный опрос
Особый тип документа Google Forms, позволяющий оценивать ответы формы по ключу ответа. Тест можно создать только с помощью метода batchUpdate()
который обновит настройку isQuiz
существующей формы до true
.
- Оценка
- Значение балла, ключ ответа и обратная связь по вопросу, применяемые, когда
isQuiz
имеет true
. Представлены ресурсом Grading
. - Обратная связь
- Ответ, предоставляемый конечному пользователю при ответе на вопрос викторины, представленный ресурсом
Feedback
.
- Элемент
Отдельный элемент формы, представленный ресурсом «Элемент» . Item
— это повторяющийся элемент, который может содержать раздел, группу вопросов, вопрос, текст, изображение или видео.
- Вопрос
Отдельный вопрос в форме, представленный ресурсом Question
.
- Группа вопросов
Группа вопросов, имеющих одинаковый набор возможных ответов (например, таблицу оценок от 1 до 5). Представлена ресурсом QuestionGroupItem
.
- Раздел
Раздел — это способ разбить форму на несколько страниц и добавить условную логику (например, показывать только определённые вопросы в зависимости от ответа пользователя). Разделы соответствуют ресурсу PageBreakItem
.
- Отвечать
Ответ конечного пользователя на вопрос, представленный ресурсом Answer
. Включает в себя информацию об оценке (если есть), метаданные и содержание ответа.
- Ответ
Отправка формы конечным пользователем, представленная ресурсом FormResponse
.
- Смотреть
Триггер, который отслеживает изменения в схеме формы (например, редактирование вопросов) или в отправке ответов на форму и отправляет push-уведомление при возникновении изменения. Представлен ресурсом Watch
.
При управлении формами и тестами понимание того, как задавать различные поля, может быть сложным, учитывая, что многие объекты формы могут быть вложены друг в друга несколькими способами. Чтобы увидеть, как визуальное представление формы соотносится с полями, рекомендуем использовать пользовательский интерфейс для создания нескольких примеров форм, которые может генерировать ваше приложение. Затем извлеките соответствующий JSON-файл с помощью метода forms.get()
для сравнения. Например, этот пример теста соответствует следующему JSON-файлу:
{
"formId": "FORM_ID",
"info": {
"title": "Famous Black Women",
"description": "Please complete this quiz based off of this week's readings for class.",
"documentTitle": "API Example Quiz"
},
"settings": {
"quizSettings": {
"isQuiz": true
}
},
"revisionId": "00000021",
"responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",
"items": [
{
"itemId": "5d9f9786",
"imageItem": {
"image": {
"contentUri": "DIRECT_URL",
"properties": {
"alignment": "LEFT"
}
}
}
},
{
"itemId": "72b30353",
"title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",
"questionItem": {
"question": {
"questionId": "25405d4e",
"required": true,
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Maya Angelou"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Maya Angelou"
},
{
"value": "bell hooks"
},
{
"value": "Alice Walker"
},
{
"value": "Roxane Gay"
}
]
}
}
}
},
{
"itemId": "0a4859c8",
"title": "Who was the first Dominican-American woman elected to state office?",
"questionItem": {
"question": {
"questionId": "37fff47a",
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Grace Diaz"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Rosa Clemente"
},
{
"value": "Grace Diaz"
},
{
"value": "Juana Matias"
},
{
"value": "Sabrina Matos"
}
]
}
}
}
}
],
"publishSettings" : {
"isPublished": true,
"isAcceptingResponses": true
}
}
Следующие шаги
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-29 UTC.
[null,null,["Последнее обновление: 2025-08-29 UTC."],[],["The Google Forms API facilitates creating, modifying, and retrieving data from forms and quizzes. Key actions include creating and updating forms/quizzes, retrieving responses, reading form content/metadata, and setting up push notifications. Quizzes can include grading, answer keys, and feedback. Forms consist of *Items*, like *Questions*, *Question Groups*, and *Sections*. User input is stored as *Answers* in *Responses*. *Watches* track form changes and trigger push notifications.\n"],null,["# Overview\n\nThe Google Forms API is a RESTful interface that lets you create and modify forms\nand quizzes, retrieve form responses and quiz grades, set up quiz answer keys\nwith automatic feedback, and receive push notifications. The most common uses\nof this API include the following tasks:\n\n- Create a form or quiz\n- Publish and manage responders\n- Update a form or quiz\n- Retrieve responses from a form or quiz\n- Read form content and metadata\n- Set up and receive push notifications\n\nThe following is a list of common terms used in the Forms API:\n*Form*\n\n: A Google Forms document, created and stored in Drive. Each\n form is represented by a\n [`Form`](/workspace/forms/api/reference/rest/v1/forms) resource\n and has a unique `formId` value, containing letters, numbers, hyphens, or\n underscores. You can find the form ID in a Google Forms URL:\n\n: `https://docs.google.com/forms/d/FORM_ID/edit`\n\n*Quiz*\n\n: A specific type of Google Forms document that allows for grading of the\n form responses against an answer key. A quiz can only be created by using\n the [`batchUpdate()`](/workspace/forms/api/reference/rest/v1/forms/batchUpdate)\n method to update the `isQuiz` setting on an existing form to `true`.\n\n *Grading*\n : A point value, answer key, and feedback for a question, applied when\n `isQuiz` is `true`. Represented by the\n [`Grading`](/workspace/forms/api/reference/rest/v1/forms#grading) resource.\n\n *Feedback*\n : A response given to the end user when responding to a question on a quiz,\n represented by the [`Feedback`](/workspace/forms/api/reference/rest/v1/Feedback)\n resource.\n\n*Item*\n\n: A single element in a form, represented by the\n [Item](/workspace/forms/api/reference/rest/v1/forms#item) resource. `Item` is a\n repeating element which can contain a section, question group, question,\n text, image, or video.\n\n*Question*\n\n: A single question on the form, represented by the\n [`Question`](/workspace/forms/api/reference/rest/v1/forms#question) resource.\n\n*Question group*\n\n: A group of questions that all share the same set of possible answers (for\n example, a grid of ratings from 1 to 5). Represented by the\n [`QuestionGroupItem`](/workspace/forms/api/reference/rest/v1/forms#questiongroupitem)\n resource.\n\n*Section*\n\n: A section is a way to break up a form into multiple pages and add\n conditional logic (such as only showing certain questions based on how the\n user answers). Sections correspond to the\n [`PageBreakItem`](/workspace/forms/api/reference/rest/v1/forms#PageBreakItem)\n resource.\n\n*Answer*\n\n: The end user's answer to a question, represented by the\n [`Answer`](/workspace/forms/api/reference/rest/v1/forms.responses#Answer)\n resource. Includes both grade information (if present), metadata, and the\n content of the answer.\n\n*Response*\n\n: The end user's submission of a form, represented by the\n [`FormResponse`](/workspace/forms/api/reference/rest/v1/forms.responses)\n resource.\n\n*Watch*\n\n: A trigger that tracks changes to either form schema changes (such as edits\n to questions) or form response submissions and sends a push notification when\n a change occurs. Represented by the\n [`Watch`](/workspace/forms/api/reference/rest/v1/forms.watches) resource.\n\nForm structure\n--------------\n\nWhen managing forms and quizzes, understanding how to specify different fields\ncan be complicated, given that many of the form objects can be nested inside\neach other in multiple ways. To see how the visual representation of a form\nmaps to the fields, we recommend using the UI to create a few examples of\nforms your application might generate. Then retrieve the corresponding JSON\nusing the\n[`forms.get()`](/workspace/forms/api/reference/rest/v1/forms/get) method\nso you can compare. For example,\n[this example quiz](https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform)\ncorresponds to the following JSON: \n\n {\n \"formId\": \"FORM_ID\",\n \"info\": {\n \"title\": \"Famous Black Women\",\n \"description\": \"Please complete this quiz based off of this week's readings for class.\",\n \"documentTitle\": \"API Example Quiz\"\n },\n \"settings\": {\n \"quizSettings\": {\n \"isQuiz\": true\n }\n },\n \"revisionId\": \"00000021\",\n \"responderUri\": \"https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform\",\n \"items\": [\n {\n \"itemId\": \"5d9f9786\",\n \"imageItem\": {\n \"image\": {\n \"contentUri\": \"DIRECT_URL\",\n \"properties\": {\n \"alignment\": \"LEFT\"\n }\n }\n }\n },\n {\n \"itemId\": \"72b30353\",\n \"title\": \"Which African American woman authored \\\"I Know Why the Caged Bird Sings\\\"?\",\n \"questionItem\": {\n \"question\": {\n \"questionId\": \"25405d4e\",\n \"required\": true,\n \"grading\": {\n \"pointValue\": 2,\n \"correctAnswers\": {\n \"answers\": [\n {\n \"value\": \"Maya Angelou\"\n }\n ]\n }\n },\n \"choiceQuestion\": {\n \"type\": \"RADIO\",\n \"options\": [\n {\n \"value\": \"Maya Angelou\"\n },\n {\n \"value\": \"bell hooks\"\n },\n {\n \"value\": \"Alice Walker\"\n },\n {\n \"value\": \"Roxane Gay\"\n }\n ]\n }\n }\n }\n },\n {\n \"itemId\": \"0a4859c8\",\n \"title\": \"Who was the first Dominican-American woman elected to state office?\",\n \"questionItem\": {\n \"question\": {\n \"questionId\": \"37fff47a\",\n \"grading\": {\n \"pointValue\": 2,\n \"correctAnswers\": {\n \"answers\": [\n {\n \"value\": \"Grace Diaz\"\n }\n ]\n }\n },\n \"choiceQuestion\": {\n \"type\": \"RADIO\",\n \"options\": [\n {\n \"value\": \"Rosa Clemente\"\n },\n {\n \"value\": \"Grace Diaz\"\n },\n {\n \"value\": \"Juana Matias\"\n },\n {\n \"value\": \"Sabrina Matos\"\n }\n ]\n }\n }\n }\n }\n ],\n \"publishSettings\" : {\n \"isPublished\": true,\n \"isAcceptingResponses\": true\n }\n }\n\nNext steps\n----------\n\n- To learn about developing with Google Workspace APIs, including handling authentication and authorization, refer to [Get started as a Workspace developer](/workspace/guides/getstarted-overview).\n- To learn how to configure and run a basic Forms API app, read the [Quickstarts overview](/workspace/forms/api/guides/quickstarts-overview)."]]