Настроить проект 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.