使用用户身份

用户将使用您的社区连接器创建自己的数据源。对于此类数据源,您的连接器可以访问有效用户的身份。根据使用的数据源凭据,有效用户可以是数据源创建者(所有者凭据),也可以是报告查看者(查看者凭据)。

优势

  • 您可以代表用户访问 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()