Есть ли способ получить имя текущего пользователя с необходимостью авторизации скрипта Google App - PullRequest
0 голосов
/ 03 марта 2020

Я создал шаблон документа Google. Шаблон содержит код, который запускается из триггера OnOpen () для автоматического заполнения некоторой базовой информации c (Дата, Классификация, Название, версия, автор). Я прошу подсказки, чтобы получить ответы на эти вопросы. Проблема заключается в следующем: чтобы получить имя автора, я не знаю другого способа, кроме как использовать этот код:

var email = Session.getActiveUser().getEmail()

Затем я извлекаю и форматирую имя с адреса электронной почты.

Проблема в том, что функция getEmail () требует, чтобы пользователь, выполняющий код, авторизовал сеанс.

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

Есть ли лучший способ получить имя автора?

1 Ответ

1 голос
/ 04 марта 2020

К сожалению нет. Пожалуйста, см. https://developers.google.com/apps-script/reference/base/session#getActiveUser () для получения дополнительной информации.

Получает информацию о текущем пользователе. Если политики безопасности не разрешают доступ к личности пользователя, User.getEmail() возвращает пустую строку. Обстоятельства, при которых адрес электронной почты доступен, различаются: например, адрес электронной почты пользователя недоступен ни в каком контексте, позволяющем запускать сценарий без авторизации этого пользователя, например простой триггер onOpen(e) или onEdit(e), пользовательская функция в Google Sheets или веб-приложении, развернутом для «выполнения от имени» (то есть, авторизованным разработчиком, а не пользователем). Однако эти ограничения обычно не применяются, если разработчик запускает сценарий самостоятельно или принадлежит к тому же домену G Suite, что и пользователь.

...