API Google Forms — это интерфейс RESTful, который позволяет создавать и изменять формы и тесты, получать ответы форм и оценки тестов, настраивать ключи ответов тестов с автоматической обратной связью и получать push-уведомления. Наиболее распространенные варианты использования этого API включают следующие задачи:
- Создайте форму или тест
- Публикация и управление респондентами
- Обновить форму или тест
- Извлечение ответов из формы или теста
- Прочитать содержимое формы и метаданные
- Настройте и получайте push-уведомления
- Ниже приведен список общих терминов, используемых в API форм:
- Форма
Документ Google Forms, созданный и сохраненный на Диске. Каждая форма представлена ресурсом
Form
и имеет уникальное значениеformId
, содержащее буквы, цифры, дефисы или подчеркивания. Вы можете найти идентификатор формы в URL-адресе Google Forms:https://docs.google.com/forms/d/FORM_ID/edit
- Контрольный опрос
Конкретный тип документа Google Forms, который позволяет оценивать ответы формы по ключу ответа. Тест может быть создан только с помощью метода
batchUpdate()
для обновления настройкиisQuiz
в существующей форме доtrue
.- Элемент
Отдельный элемент в форме, представленный ресурсом Item .
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
}
}
Следующие шаги
- Чтобы узнать больше о разработке с использованием API Google Workspace, включая обработку аутентификации и авторизации, обратитесь к статье «Начало работы в качестве разработчика Workspace» .
- Чтобы узнать, как настроить и запустить базовое приложение Forms API, прочитайте обзор Quickstarts .