Кажется, нет простого способа сделать это, потому что функции, запускаемые из меню, всегда выполняются как «пользователь на клавиатуре».
Одним из способов решения этой проблемы является публикация веб-приложения для постоянного владельца «Выполнить как».Это веб-приложение будет записывать в защищенные диапазоны на doPost()
.Затем функция, связанная с пользовательским интерфейсом меню, будет использовать UrlFetch
для отправки в опубликованное веб-приложение.Вы также можете использовать некоторую базовую аутентификацию с паролем / случайно сгенерированными числами, чтобы отклонять запросы извне вашего сценария.
Кроме того, если вы не доверяете редакторам не связываться со связанным сценарием, лучше опубликовать егокак частное дополнение, где исходный код не легко доступен.