Настроить проект Apps Script для прямого вызова API Google Forms через REST-вызов довольно просто. Если вы уже настроили проект Google Cloud, выполните следующие действия:
- Создайте новый проект Apps Script.
- Измените номер связанного проекта Google Cloud так, чтобы он соответствовал проекту, который вы включили для API Google Forms.
- Отредактируйте файл манифеста (
appsscript.json), чтобы добавить необходимые области OAuth. - Добавьте код скрипта приложения для получения токена OAuth и выполнения вызова REST с использованием токена.
Вот краткое пошаговое руководство по этим шагам.
Создайте и настройте новый проект Apps Script
- Используя тот же идентификатор Google, который вы использовали для настройки проекта GCP, перейдите на панель инструментов Apps Script , затем нажмите New project .
- После открытия проекта нажмите «Настройки проекта».
- Установите флажок Показывать файл манифеста «appsscript.json» в редакторе .
- В разделе «Проект Google Cloud Platform (GCP)» нажмите «Изменить проект» и введите номер проекта GCP, который вы настроили для API форм.
Ваш проект Apps Script теперь настроен для доступа к API Google Forms. Следующий шаг — добавить необходимые области действия OAuth.
Добавить области OAuth
Чтобы сгенерировать токен OAuth с правильной областью действия в Apps Script, необходимо задать требуемые области действия в файле манифеста проекта.
- В редакторе откройте
appsscript.json. Добавьте области действия в тело манифеста.
{ ... "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 Google Forms через REST-вызов.
Добавьте код скрипта приложения для вызова API
Прежде чем писать код для вызова формы, необходимо определить принадлежащую вам форму с ответами и записать её идентификатор. Идентификатор формы можно найти в URL-адресе при редактировании формы:
https://docs.google.com/forms/d/<FORM_ID>/edit
Для вызова API вы будете использовать вызов Apps Script UrlFetchApp .
Откройте 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.