Случайные ошибки разрешения / авторизации с помощью Session.getActiveUser () - PullRequest
0 голосов
/ 01 марта 2020

В течение прошлой недели я столкнулся с неприятной проблемой, связанной с моим скриптом приложений Google, который уже несколько лет прекрасно работает, по крайней мере, с 500 пользователями.

Когда я пытаюсь получить данные для входа в систему текущего пользователя следующим образом:

var email_act = Session.getActiveUser().getEmail();

сервер выдает исключение:

Исключение: у вас нет разрешения на вызов Session.getActiveUser. Требуемые разрешения: https://www.googleapis.com/auth/userinfo.email в getUserInfo (UserFunctions: 46: 27)

В моем случае эффективный пользователь отличается от активного пользователя, но я получил ту же ошибку, когда пытаюсь вызвать Session.getEffectiveUser ().

Это происходит случайным образом, около 30% вызовов, и до сих пор мое решение состояло в том, чтобы просто повторить попытку до тех пор, пока это не удастся. Обратите внимание, что когда я делал повторы в бэкэнд-коде, это не решало проблему, возможно, потому что что-то не так с самой «сессией». Если это не удалось один раз, он также не все последующие вызовы. Поэтому я реализовал retry-l oop в коде переднего конца (при условии, что каждый вызов к back-end затем рассматривается как новый сеанс), и это помогло - после нескольких (наихудший случай 5) попыток это работает. Back-end теперь имеет простой обработчик ошибок try-catch и возвращает FE (-1) в случае сбоя.

Есть идеи, что может быть причиной root? Мое решение слишком уродливо, чтобы жить с ...

Заранее спасибо!

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