Как выбрать учетную запись в Google App Scripts для пользователей с несколькими учетными записями?

Для пользователей, которые вошли в несколько учетных записей, как сценарий может позволить пользователю выбрать учетную запись? Например, Gmail, Google Диск и т. Д. Предоставляют пользователю возможность выбрать, какую учетную запись использовать, с возможностью выбора в правом верхнем углу страницы:

скриншот gdrive

Как разработчики могут реализовать подобный механизм?


person Oscar Wahltinez    schedule 26.04.2016    source источник
comment
Вы можете объяснить это поподробнее. В каком сервисе вы пытаетесь это отобразить? В веб-приложении боковая панель электронной таблицы, диалоговое окно?   -  person Douglas Gaskell    schedule 26.04.2016
comment
Я работаю с веб-приложением. Встраивание его в электронную таблицу надстройки работает, потому что у пользователей есть верхняя панель для переключения пользователей, но вне контекста GDrive у них нет возможности узнать, какую учетную запись они используют после начального диалогового окна разрешения.   -  person Oscar Wahltinez    schedule 26.04.2016


Ответы (3)


Кажется, нет способа сделать это с библиотеками скриптов Google Apps - GAS просто использует текущую основную учетную запись. Кроме того, к сожалению, клиентская библиотека API и, следовательно, вход в Google для веб-сайтов не работают внутри веб-приложений GAS из-за фрейма песочницы. Вы можете написать свою собственную реализацию или использовать существующую реализацию OAuth для аутентификации в Google, но я обнаружил гораздо более простое решение с использованием Auth0 Lock только с подключением к Google (с использованием метода всплывающих окон, поскольку метод перенаправления не работает в рамках песочницы).

person C12Z    schedule 16.12.2016

В Chrome версии 70.0.3538.102. Вы можете решить свою проблему (по крайней мере, я это сделал)

Теперь я проверяю, что входил ТОЛЬКО в ОДНУ учетную запись за раз. Затем используйте «управлять людьми»  введите здесь описание изображения , если у меня есть 3 учетных записи Google, я создам 3 человека, и каждый раз у вас будет только 1 активный сеанс учетной записи Google. Благодаря этой настройке я гарантировал, что каждый раз мой скрипт будет выполняться только с моим пользователем G Suite, а не с аккаунтами @gmail.

person Weilies    schedule 26.12.2018

Вы можете попробовать использовать Directory API для работы с Apps Script. Получите пользователя, используя:

GET https://www.googleapis.com/admin/directory/v1/users/userKey. 

Затем вы можете создать интерфейс, отображающий данные учетных записей пользователей (имя, адрес электронной почты и т. Д.).

person noogui    schedule 27.04.2016