Обзор

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 .

Оценка
Значение балла, ключ ответа и обратная связь для вопроса, применяемые, когда isQuiz имеет true . Представлено ресурсом Grading .
Обратная связь
Ответ, предоставляемый конечному пользователю при ответе на вопрос викторины, представленный ресурсом Feedback .
Элемент

Отдельный элемент в форме, представленный ресурсом 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
  }
}

Следующие шаги