Почему сценарий назначен для перерасширения в Sheets Add-On, работающем навсегда для пользователя организации G Suite? - PullRequest
0 голосов
/ 13 марта 2020

У нас есть учетная запись G Suite, которая, кажется, настроена правильно. Надстройка Google Sheets Editor устанавливается по всему домену. Пользователи назначаются организационным подразделениям, которые могут получать доступ к надстройке и использовать ее. Открытие листов загружает меню, как написано в опубликованном скрипте.

Но некоторые листы имеют overGridImages с назначенными скриптами, которые работают подобно кнопкам макросов. Листы могут найти назначенный сценарий, но при нажатии кнопки они видят зеленое предупреждение «Запуск сценария» enter image description here на неопределенный срок, и ничего не происходит. Если они вызывают ту же функцию через меню, она работает правильно.

Я перепробовал все варианты настроек веб-приложения в манифесте 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")

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

...