Исправьте доступ для выполнения этого действия в общем листе

Простому сценарию листа не хватает разрешения для запуска общим пользователем

У меня есть простая таблица для оценки викторины. У каждой команды викторины (в разных местах) есть собственная копия, которую я настроил в своей учетной записи и поделился с ними. Электронная таблица запускает небольшой скрипт, когда он начинает, чтобы пользователь мог легко сортировать баллы. У меня работает нормально, но пользователь с общим доступом получает «У вас нет доступа для выполнения этого действия. Пожалуйста, попросите владельца этого элемента предоставить вам доступ». Извиняюсь за то, что, вероятно, действительно основной вопрос. Я настоящий новичок в этом деле, и я пытался понять, что мне нужно сделать, но полностью потерпел неудачу! Любые советы приветствуются

function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
Browser.msgBox("Starting scoresheet setup");

// Hide working columns

var sheet = ss.getSheets()[0];
sheet.hideColumns(26, 2);

var menuEntries = [
                  {name: "Sort Scores Hi-Lo", functionName: "HiLo"},
                  {name: "Sort Tables A-Z", functionName: "AZ"}];
ss.addMenu("Sort Scores", menuEntries);
Browser.msgBox("'Sort Scores' now set up in Menu, above");
Browser.msgBox("Scoresheet setup complete"); 
}

function HiLo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var teams2 = ss.getRange("Z2").getValue()
var range = ss.getActiveSheet().getRange(9, 1,  teams2, 26);        // 
Sort area A9 - X20;

//Browser.msgBox("Scoresheet sorted with highest score at the top");
range.sort({column: 22, ascending: false}); 
// Sort descending by column A
Browser.msgBox("Scoresheet sorted with highest score at the top");
}

function AZ() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var teams2 = ss.getRange("Z2").getValue();
var range = ss.getActiveSheet().getRange(9, 1,  teams2, 26);
// Sort area A9 - X20;

//Browser.msgBox("Table sort");
range.sort({column:1, ascending: true}); 
// Sort descending by column A
Browser.msgBox("Scoresheet sorted into Table order A to Z");
}

person SBJCQuiz    schedule 17.01.2019    source источник


Ответы (1)


Браузер. msgBox() требует авторизации.

Простые триггеры (onOpen) не могут вызывать методы, требующие авторизации.

Вместо этого попробуйте SpreadsheetApp.getActive().toast().

person CalamitousCode    schedule 18.01.2019
comment
Извините за полную тупость... что значит "тост"? - person SBJCQuiz; 18.01.2019
comment
Вы нажимали на ссылку? - person CalamitousCode; 19.01.2019