用户将使用您的社区连接器创建自己的数据源。对于这些数据源,您的连接器可以访问有效用户的身份。根据数据源凭据,有效用户可以是数据源创建者(所有者凭据)或报告查看者(查看者凭据)。
优势
- 您可以代表用户访问 Google 服务和 API。
- 您可以实现自定义访问控制,以确保仅显示相关数据。
- 您可以为有效用户打造量身定制的体验。
实现步骤
访问用户 OAuth 令牌
通过传递用户的 OAuth 令牌,您的连接器可以代表用户访问 Google 服务和 API。如需在连接器中访问有效用户的 OAuth 令牌,请使用 ScriptApp.getOAuthToken()
。请参阅 getOAuthToken 参考。
此令牌将包含连接器授权期间包含的授权范围。
对于大多数连接器,Apps 脚本会通过解析和处理脚本自动检测所需的范围。您可以随时查看连接器使用的范围。您还可以使用网址字符串在清单中明确设置范围。如果您希望代表用户访问 Google 服务或 API,请在清单中包含相关范围。
访问用户电子邮件地址
在代码中,您可以使用 Session.getEffectiveUser().getEmail()
标识当前有效用户。请参阅 getEffectiveUser 参考。添加此代码会自动将 https://www.googleapis.com/auth/userinfo.email
授权范围添加到您的连接器。
示例:使用用户 OAuth 令牌调用 Google API
- Google 健身连接器通过 Google Fit API 提取有效用户的数据。调用该 API 时,它会传递有效用户的 OAuth 令牌。如需了解实现详情,请参阅源代码。
- Firestore 连接器使用 Cloud Resource Manager 获取有效用户的项目列表。该连接器还会传递有效用户的 OAuth 令牌。如需了解实现详情,请参阅源代码。
示例:基于电子邮件地址的 isAdminUser()
- Chrome 用户体验连接器维护了一个管理员用户列表。它使用
getEffectiveUser()
并将有效用户与该列表进行比较,以确定有效用户是否为管理员。请参阅getEffectiveUser
的实现。