Пользователи будут использовать ваш Community Connector для создания собственных источников данных. Для этих источников данных ваш соединитель может получить доступ к действительным удостоверениям пользователя. В зависимости от учетных данных источника данных эффективный пользователь может быть создателем источника данных (учетные данные владельца) или пользователем, просматривающим отчет (учетные данные наблюдателя).
Преимущества
- Вы можете получить доступ к сервисам и API Google от имени пользователя.
- Вы можете реализовать настраиваемый контроль доступа, чтобы гарантировать отображение только соответствующих данных.
- Вы можете настроить пользовательский опыт для эффективного пользователя.
Этапы реализации
Доступ к пользовательскому токену OAuth
Ваш соединитель может получать доступ к службам и API Google от имени пользователя, передавая токен OAuth пользователя. Чтобы получить доступ к эффективному токену OAuth пользователя в вашем соединителе, используйте ScriptApp.getOAuthToken()
. См. справку по getOAuthToken . Этот токен будет включать области авторизации , включенные во время авторизации соединителя.
Для большинства соединителей Apps Script автоматически определяет, какие области необходимы, путем анализа и обработки сценария. Вы можете в любое время просмотреть области, которые использует соединитель. Вы также можете явно указать области действия в своем манифесте , используя строки URL. Если вы хотите получить доступ к службе или API Google от имени пользователя, включите соответствующую область в манифест.
Доступ к адресу электронной почты пользователя
В своем коде вы можете идентифицировать текущего действующего пользователя с помощью Session.getEffectiveUser().getEmail()
. См. справку по getEffectiveUser . Добавление этого кода автоматически добавит к вашему коннектору область авторизации https://www.googleapis.com/auth/userinfo.email
.
Пример. Вызов API Google с использованием токена OAuth пользователя.
- Коннектор Google Fit извлекает данные из API Google Fit для эффективного пользователя. При вызове API он передает токен OAuth эффективного пользователя. Подробности реализации смотрите в исходном коде .
- Коннектор Firestore использует Cloud Resource Manager для получения списка проектов для эффективного пользователя. Этот соединитель также передает эффективный токен OAuth пользователя. Подробности реализации смотрите в исходном коде .
Пример: isAdminUser()
на основе адреса электронной почты.
- Chrome UX Connector поддерживает список пользователей-администраторов. Он использует
getEffectiveUser()
и сравнивает эффективного пользователя со списком, чтобы определить, является ли эффективный пользователь администратором или нет. См. реализациюgetEffectiveUser
.