Возникли проблемы с авторизацией скрипта Google, нужна помощь в удаленном обновлении многих (десятков) форм Google - PullRequest
1 голос
/ 06 мая 2020

Я устраиваю мероприятие, чтобы побудить людей оставаться физически активными. Как только кто-то зарегистрируется, ему отправят копию шаблона Google Form / Sheet, который они будут использовать для создания своей команды. Каждый член команды вводит свое имя, выбирает действие, которое он выполнял, и записывает, как долго он его выполнял. Форма журнала должна автоматически обновляться, чтобы перечислить эти имена и действия, чтобы пользователи могли выбирать из этого списка позже, а не вводить их снова. В связанной электронной таблице ответов есть диаграммы, в которых сравниваются действия членов команды друг с другом. У меня есть «основная» электронная таблица, которая импортирует данные из всех листов ответов команды, сравнивает и отображает их (в Google Slides) для просмотра участниками.

Проблема в том, что я хотел бы иметь возможность программно разрешать автоматическое обновление формы журнала, чтобы мне не приходилось делать это вручную каждый раз, когда создается новая форма журнала.

Что пробовали:

1) Form ranger - конфигурация Form ranger может быть настроена в шаблоне формы, но теряется после копирования шаблона, что требует от меня перенастроить (и авторизовать) Form Ranger для каждой новой формы по мере ее создания.

2) Используйте скрипт Google для обновления формы с помощью триггера onFormSubmit. Процесс работает, но мне нужно вручную настроить триггер onFormSubmit, в первый раз, в каждой новой форме / электронной таблице, чтобы он продолжал автоматически после этого.

3) Обновлен файл манифеста, чтобы включить: «oauthScopes» : ["https://www.googleapis.com/auth/spreadsheets.currentonly"] Когда я попробовал это, сценарий выдал ошибку, указывающую на то, что «У вас нет разрешения на вызов SpreadsheetApp.openById». Он снова начал работать после удаления '.currentonly', но по-прежнему требовал, чтобы я вручную авторизовал его для каждой новой формы / SS.

4) Добавлен / ** * @OnlyCurrentDoc * / в скрипт. Это добавило несколько секунд к времени выполнения скрипта, но, кроме этого, я не заметил никаких изменений. По-прежнему требуется, чтобы я авторизовался вручную.

5) Я пробовал использовать простые триггеры (onOpen и onEdit) для обнаружения изменений в связанном листе ответов формы, но обнаружил, что эти триггеры не активируются при автоматической отправке формы данных в электронную таблицу, а когда ПОЛЬЗОВАТЕЛЬ вручную выполняет операции с электронной таблицей. Так что автоматического обновления по-прежнему нет.

У вас есть другие идеи? Я благодарен за любую помощь, которую вы можете оказать.

Спасибо, Дэвид

...