У нас есть учетная запись G Suite, которая, кажется, настроена правильно. Надстройка Google Sheets Editor устанавливается по всему домену. Пользователи назначаются организационным подразделениям, которые могут получать доступ к надстройке и использовать ее. Открытие листов загружает меню, как написано в опубликованном скрипте.
Но некоторые листы имеют overGridImages с назначенными скриптами, которые работают подобно кнопкам макросов. Листы могут найти назначенный сценарий, но при нажатии кнопки они видят зеленое предупреждение «Запуск сценария» на неопределенный срок, и ничего не происходит. Если они вызывают ту же функцию через меню, она работает правильно.
Я перепробовал все варианты настроек веб-приложения в манифесте json и опубликовал каждую комбинацию. Сценарий в настоящее время имеет
"webapp": {
"access": "ANYONE",
"executeAs": "USER_ACCESSING"
Я также пытался включить это в файл code.gs:
/**
* @NotOnlyCurrentDoc
*/
Я не могу понять, какие настройки позволят запускать функцию из overGridImage. Этот файл сценария длинный, и я не думаю, что он поможет опубликовать сценарий функции здесь, поскольку сценарий уже работает правильно при запуске из меню.
Кикер в том, что я автор кода, владелец папок Sheets и Drive, а также Super Admin для учетной записи G Suite. Кнопки overGridImage запускают функции для меня каждый раз в каждой электронной таблице. Как сделать так, чтобы это происходило со всеми моими другими пользователями?
** EDITED 3/16 8:30 am
Теперь я понимаю, что развертывание в качестве веб-приложения было неправильным путем к go здесь. Мой сценарий даже не имеет doGet () или doPost (). (Извините, неопытный кодер пробует много разных вещей). Позвольте мне сделать резервную копию и предоставить образец.
Поскольку моя проблема связана с пользователями в моей доменной организации, я создал фиктивную учетную запись example@southwestscenic.com. Пожалуйста, войдите в Google с этой учетной записью. Пароль Dummy@ccount!
Я создал лист Google с именем "Hello World" и поделился им с этой фиктивной учетной записью. На листе изображение «Выполнить» служит кнопкой запуска функции. Я назначил сценарий «aa» для изображения.
В моем файле сценария я написал:
function aa(){
Browser.msgBox("Hello World!");
}
Я также добавил ту же функцию, что и пункт меню :
.addItem("Hello World", "aa")
Вы заметите, что функция запускается при выборе из меню, но не при запуске из образа. Мой файл сценария содержит другие функции, к которым мне нужно, чтобы пользователи могли иметь доступ с любого листа, поэтому я создал надстройку в первую очередь. К сожалению, заставить их запускать функции из меню просто не практично для всех функций.