Для настройки проекта Apps Script для прямого вызова API Google Forms через REST-запрос необходимо выполнить несколько шагов. Предполагая, что у вас уже настроен проект Google Cloud, выполните следующие действия:
- Создайте новый проект Apps Script.
- Измените номер соответствующего проекта Google Cloud на номер проекта, который вы включили для Forms API.
- Отредактируйте файл Manifest (
appsscript.json), чтобы добавить необходимые области действия OAuth. - Добавьте код Apps Script для получения токена OAuth и выполнения REST-запроса с использованием этого токена.
Создайте и настройте новый проект Apps Script.
- Используя ту же учетную запись Google, которую вы использовали для настройки проекта Google Cloud, перейдите на панель управления Apps Script , а затем нажмите «Создать проект» .
- После открытия проекта нажмите «Настройки проекта».
- Установите флажок «Показать файл манифеста "appsscript.json" в редакторе» .
- В разделе «Проект Google Cloud Platform (Google Cloud)» нажмите «Изменить проект» и введите номер проекта Google Cloud, который вы настроили для Forms API.
Теперь ваш проект Apps Script настроен для доступа к API форм. Следующий необходимый шаг — добавление соответствующих областей действия OAuth.
Добавить области действия OAuth
Для генерации корректно настроенного токена OAuth в Apps Script необходимо указать требуемые области действия в файле манифеста проекта.
- В редакторе откройте
appsscript.json. Добавьте области действия (scopes) в тело манифеста.
{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly" ], ... }Нажмите Сохраните проект и исправьте синтаксические ошибки, если это необходимо. Теперь ваш проект должен иметь возможность вызывать API форм с помощью REST-запроса.
Добавьте код Apps Script для вызова API.
Прежде чем писать код для вызова формы, необходимо определить принадлежащую вам форму, которая принимает ответы, и записать её идентификатор (ID). Идентификатор формы можно найти в URL-адресе при редактировании формы:
https://docs.google.com/forms/d/<FORM_ID>/edit
Для вызова API вам потребуется использовать вызов UrlFetchApp из Apps Script.
Откройте файл Code.gs и добавьте следующий код:
Замените
YOUR_FORM_IDзначением, которое вы записали ранее.Пример:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';Нажмите Сохраните проект и при необходимости исправьте синтаксические ошибки.
Протестируйте код
- Нажмите кнопку ».
- При необходимости авторизуйте проект, используя ту же учетную запись Google, что и раньше.
После запуска в журнале выполнения должен отобразиться примерно такой ответ:
Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
{
"responseId":"...",
"createTime": "2021-03-25T01:23:58.146Z",
"lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
"answers": {
"1e9b0ead": {
"questionId": "1e9b0ead",
"textAnswers": {
"answers": [
{
"value": "Red"
}
]
}
},
"773ed8f3": {
"questionId": "773ed8f3",
"textAnswers": {
"answers": [
{
"value": "Tesla"
}
]
}
}
}
}
]
}
Execution completed
Следующие шаги
После успешного вызова API с помощью Apps Script, ознакомьтесь с документацией и поэкспериментируйте с другими вызовами API.