Есть ли ошибка в моем скрипте «Скрыть лист»? - PullRequest
1 голос
/ 16 октября 2019

Это работает и скрывает лист «Финансы», когда я являюсь администратором и пользователем, я хочу, чтобы администраторы имели доступ к листу, а пользователи без прав администратора скрывали его. Я не совсем уверен, возможно ли это с использованием одного сценария клиента или нет, но если это так, скажите мне, что я делаю неправильно.

Это то, над чем я работал последние 3 недели, яЯ новичок в скриптах Google, поэтому любая помощь будет оценена, но я ни в коем случае не эксперт, но теоретически это работает.

function onOpen() {
  var adminUsers = ['maiceo@******.com','nick@*****.com','ash@******.com','justinp@*****.com'];
  var Users = ['lorit@*****.com','zachp@******.com','devonc@******.com','rileev@*****.com','maiceoh@*******.com'];

  if (adminUsers.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Finances').showSheet()
  }

  if (Users.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Finances').hideSheet()
  }
}

Я ожидал, что admiUsers будут иметь возможности просмотра, а пользователи - нет, но этоили все или ничего. Я хочу, чтобы он работал как авторизация с помощью карточки-ключа при открытии документа.

1 Ответ

0 голосов
/ 16 октября 2019

Ответ:

Чтобы пользователь мог запустить триггер, ему необходимо иметь доступ к редактированию листа.

Дополнительная информация:

Согласно Документации Google , только пользователи с правами на редактирование могут запускать триггеры, связанные с Google Sheet:

onOpen (e) запускается, когда пользователь открываетэлектронная таблица, документ, презентация или форма, которые пользователь имеет право редактировать.

Чтобы сделать это, вам нужно, чтобы у всех пользователей были права на редактирование.

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...