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