У меня есть электронная таблица приложения Google, которую я хотел бы сделать доступной для всех, у кого есть ссылка. Он использует настраиваемый графический интерфейс для редактирования ячеек электронной таблицы. Пользовательский графический интерфейс - это HTML-файл, запускаемый с использованием класса HtmlService в файле скрипта Google Apps.
Как я могу настроить параметры таблицы, чтобы любой мог открыть электронную таблицу и использовать настраиваемый графический интерфейс для внесения изменений в электронную таблицу, но не вносить изменения какими-либо другими способами?
Вот результаты, которые я получил при различных сценариях.
Графический интерфейс работает так, как ожидалось, но лист можно изменить и без него:
- Все, у кого есть ссылка, могут редактировать
- Gui запускается через настраиваемое меню (сценарий приложения запускается от имени пользователя)
Графический интерфейс работает так, как ожидалось, но лист все еще можно изменить без него:
- Все, у кого есть ссылка, могут редактировать
- Gui запускается через устанавливаемый триггер (скрипт приложения запускается как владелец триггера, который также является владельцем документа)
Графический интерфейс не может редактировать лист, и пользователи не могут иначе:
- Любой, у кого есть ссылка, может комментировать
- Gui запускается через устанавливаемый триггер (скрипт приложения запускается как владелец триггера, который также является владельцем документа)
Я думал, что, поскольку устанавливаемый триггер работает от имени пользователя с разрешениями на изменение листа, это сработает. Разве разрешения этого триггера не распространяются на графический интерфейс HTML-службы, который он открывает?
1 ответ
Это не связано с htmlServices. Просто любой графический интерфейс, который вы запускаете любым способом из электронной таблицы, будет запускаться от имени пользователя, использующего электронную таблицу. Вам необходимо опубликовать службу (для запуска от имени владельца сценария) и использовать этот графический интерфейс через URL-адрес службы, а НЕ запускать ее из электронной таблицы (меню и т. Д.).
Похожие вопросы
Новые вопросы
google-apps-script
Используйте для вопросов о Google Apps Script, облачной платформе сценариев Google на основе JavaScript для автоматизации задач в продуктах Google и сторонних сервисах. Используйте в дополнение к соответствующим тегам продукта (например, [google-sheet], [google-docs]) или API-тегам (например, [google-drive-api]), где это применимо.