Проверка пользователя в Google Sheets - PullRequest
0 голосов
/ 21 февраля 2019

Я работаю над проектом в Google Sheets для моей команды!Дело в том, что у меня есть лист внутри, и я хочу, чтобы его видели только я и 2 других человека (они могут редактировать лист), чтобы любой, кто входит с разрешением «Только для просмотра», не видел его!

РЕДАКТИРОВАТЬ: Позвольте мне объяснить немного лучше: у меня есть проект, который включает в себя конкретный лист (позвольте мне назвать его Sheet_1), который я хочу сохранить в тайне.Проект состоит из базы данных о финансовом состоянии моей команды, поэтому обязательно, чтобы ВСЕ члены команды могли ее видеть.Но есть одна загвоздка: я не хочу, чтобы ВСЕ в команде видели Sheet_1, я хочу, чтобы только определенная группа (называемая «Администраторы») могла видеть его.Я не могу просто скрыть Лист_1, потому что каждый раз, когда Администраторы редактируют его каким-либо образом, он снова становится видимым для всех.

Так что позвольте мне четко определить, кто участвует вАдминистраторы: Люди (включая меня), которые могут видеть все и изменять все в проекте. Не администраторы: Люди, которые должны просматривать проект в режиме «Только для просмотра» и могут не видеть Sheet_1

Я немного искал, и вот код, который у меня есть:

    function onOpen() {
  var adminUsers = ['admin@email.com'];


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

  else {
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheetname').hideSheet()
    }
}

Но этот код не работает!Он не скрывает лист, когда не администраторы просматривают мой проект, а также запрашивает логин Google каждый раз, когда кто-то открывает проект!

Итак, код, который я ищу, выглядит примерно так:

 function onOpen(){
  var admin = [authorized emails that I inputted manually]
  var email = getCurrentUserEmail()

  if(email is in admin){
      show specific sheet
  }

  else{
      don't show specific sheet
  }

РЕДАКТИРОВАТЬ: теперь я вижу, что, возможно, то, что я спрашиваю, слишкомсложно, поэтому я был бы рад, если бы кто-нибудь мог дать мне предложения!

Может ли кто-нибудь помочь мне с этим?Я дам больше детали в случае необходимости!Спасибо!

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