Ошибка аутентификации надстройки электронной таблицы - владелец документа и активный пользователь не совпадают - PullRequest
0 голосов
/ 15 октября 2018

в моем дополнении к электронным таблицам у меня есть проверка владельца документа:

  var USEREMAIL = Session.getEffectiveUser().getEmail();
  var owner = SpreadsheetApp.getActive().getOwner().getEmail();
    if (USEREMAIL == owner) {
      menu.addItem('Owner menu', 'ownermenu');
      menu.addToUi();
    } else {
      menu.addItem('Not owner', 'notowner');
      menu.addToUi();
    } 

Это также запасной вариант для известной проблемы, когда пользователи входят в несколько учетных записей.Итак, я недавно узнал, что даже если я владелец документа и только вошел в одну учетную запись, я все равно получаю меню Не владелец.

Проблема может быть исправлена ​​переустановкой дополнения, но все же, это ошибка Google?Я не вижу очевидной причины, по которой он работает правильно после переустановки, тогда это не должно быть проблемой для меня.

1 Ответ

0 голосов
/ 15 октября 2018

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

Поэтомувызов getOwner вернет ноль внутри onOpen.

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