Google: 通用 OAuth2 认证#
本文档包含创建通用 OAuth2 Google 凭证的说明,用于自定义操作。
给 n8n Cloud 用户的注意事项
对于以下节点,您可以通过在 OAuth 部分选择 使用 Google 登录 进行认证:
先决条件#
- 创建一个 Google Cloud 账户
设置 OAuth#
将您的 n8n 凭证连接到 Google 服务需要五个步骤:
创建 Google Cloud Console 项目#
首先创建一个 Google Cloud Console 项目。如果已有项目,请跳至下一章节:
- 使用您的 Google 账号登录 Google Cloud Console。
- 在顶部菜单中,选择顶部导航栏的项目下拉菜单,然后选择新建项目,或直接访问新建项目页面。
- 输入项目名称并选择项目的位置。
- 点击创建。
-
检查顶部导航栏,确保项目下拉菜单中已选中您的项目。如果没有,请选择您刚刚创建的项目。
启用 API#
项目创建完成后,启用您需要访问的 API:
- 访问您的 Google Cloud Console - 库。确保您位于正确的项目中。
检查 Google Cloud 顶部导航栏中的项目下拉菜单 - 进入 API 和服务 > 库。
- 搜索并选择您要启用的 API。例如,对于 Gmail 节点,搜索并启用 Gmail API。
-
某些集成需要其他 API 或需要您申请访问权限:
- Google Perspective: 申请 API 访问权限。
- Google Ads: 获取 开发者令牌。
需要 Google Drive API
以下集成除了需要自己的 API 外,还需要 Google Drive API:
- Google 文档
- Google 表格
- Google 幻灯片
Google Vertex AI API
除了 Vertex AI API 外,您还需要启用 Cloud Resource Manager API。
-
选择 启用。
配置您的 OAuth 同意屏幕#
如果您尚未在 Google Cloud 项目中使用过 OAuth,您需要先配置 OAuth 同意屏幕:
- 访问您的 Google Cloud Console - 库。确保您选择了正确的项目。
检查 Google Cloud 顶部导航栏中的项目下拉菜单 - 打开左侧导航菜单,前往 API 和服务 > OAuth 同意屏幕。
- 选择 开始配置 以启动 OAuth 同意设置。
- 输入将在 OAuth 屏幕上显示的 应用名称 和 用户支持邮箱。
- 对于 受众群体,选择 内部 表示仅限您组织的 Google Workspace 用户访问,或选择 外部 表示允许任何拥有 Google 账号的用户访问。有关用户类型的更多信息,请参阅 Google 的用户类型文档。
- 选择 Google 应使用的 电子邮件地址 来通知您项目变更。
- 阅读并接受 Google 的用户数据政策,然后选择 创建。
- 在左侧菜单中选择 品牌。
- 在 授权域名 部分,选择 添加域名:
- 如果您使用 n8n 云服务,请添加
n8n.cloud
- 如果您是自托管,请添加您的 n8n 实例域名。
- 如果您使用 n8n 云服务,请添加
- 在页面底部选择 保存。
创建 Google OAuth 客户端凭据#
接下来在 Google 中创建 OAuth 客户端凭据:
- 在 APIs & Services 部分,选择 Credentials。
- 选择 + Create credentials > OAuth client ID。
- 在 Application type 下拉菜单中,选择 Web application。
- Google 会自动生成一个 Name。将其更新为您在控制台中能识别的名称。
- 从您的 n8n 凭据中复制 OAuth Redirect URL,然后粘贴到 Google 控制台的 Authorized redirect URIs 中。
- 选择 Create。
完成 n8n 凭据设置#
当 Google 项目和凭据完全配置好后,完成 n8n 凭据设置:
- 从 Google 的 OAuth client created 弹窗中复制 Client ID,输入到您的 n8n 凭据中。
- 从同一个 Google 弹窗中复制 Client Secret,输入到您的 n8n 凭据中。
- 您必须为此凭据提供作用域。更多信息请参考作用域。输入多个作用域时用空格分隔,例如:
1
https://www.googleapis.com/auth/gmail.labels https://www.googleapis.com/auth/gmail.addons.current.action.compose
- 在 n8n 中,选择 Sign in with Google 完成 Google 认证。
- 保存您的新凭据。
视频教程#
以下视频演示了上述步骤:
权限范围 (Scopes)#
Google 服务有一个或多个可能的访问范围(scope)。范围限制了用户可以执行的操作。请参考 Google API 的 OAuth 2.0 范围 获取所有服务的范围列表。
n8n 并不支持所有范围。在创建通用的 Google OAuth2 API 凭证时,您可以从下方的支持的范围列表中输入范围。如果您输入了 n8n 尚未支持的范围,它将无法工作。
支持的范围
服务 | 可用范围 |
---|---|
Gmail |
|
Google Ads |
|
Google Analytics |
|
Google BigQuery |
|
Google Books |
|
Google Calendar |
|
Google Cloud Natural Language |
|
Google Cloud Storage |
|
Google Contacts |
|
Google Docs |
|
Google Drive |
|
Google Firebase Cloud Firestore |
|
Google Firebase Realtime Database |
|
Google Perspective |
|
Google Sheets |
|
Google Slide |
|
Google Tasks |
|
Google Translate |
|
GSuite Admin |
|
故障排除#
Google 未验证此应用#
如果使用 OAuth 认证方式,您可能会看到警告 Google 尚未验证此应用。为避免此问题,您可以从要认证的同一账户创建 OAuth 凭据。
如需使用其他账户(由开发者或第三方)生成的凭据,请按照 Google Cloud 文档 | 授权错误:Google 尚未验证此应用 中的说明操作。
Google Cloud 应用变为未授权状态#
对于 发布状态 设为 测试中 且 用户类型 设为 外部 的 Google Cloud 应用,授权同意和令牌将在七天后过期。更多信息请参阅 Google Cloud Platform 控制台帮助 | 设置 OAuth 同意屏幕。要解决此问题,请在 n8n 凭据模态窗口中重新连接应用。
注:保持原文档中的引用片段路径不变,这些片段内容将在实际构建时被插入。