Google: OAuth2 通用#
本文档包含创建用于自定义操作的通用 OAuth2 Google 凭据的说明。
n8n 云服务用户注意事项
对于以下节点,您可以通过在 OAuth 部分中选择使用 Google 登录来进行身份验证:
前置条件#
- 创建一个 Google Cloud 账户。
设置 OAuth#
将您的 n8n 凭据连接到 Google 服务需要五个步骤:
创建 Google Cloud Console 项目#
首先,创建一个 Google Cloud Console 项目。如果您已经有项目,请跳转到下一节:
- 使用您的 Google 凭据登录到您的 Google Cloud 控制台。
- 在顶部菜单中,选择顶部导航中的项目下拉菜单并选择新建项目,或直接转到新建项目页面。
- 输入项目名称并为您的项目选择位置。
- 选择创建。
-
检查顶部导航并确保项目下拉菜单已选择您的项目。如果没有,请选择您刚创建的项目。
检查 Google Cloud 顶部导航中的项目下拉菜单
启用 API#
创建项目后,启用您需要访问的 API:
- 访问您的 Google Cloud 控制台 - 库。确保您在正确的项目中。
检查 Google Cloud 顶部导航中的项目下拉菜单 - 转到 API 和服务 > 库。
- 搜索并选择您要启用的 API。例如,对于 Gmail 节点,搜索并启用 Gmail API。
-
某些集成需要其他 API 或需要您请求访问权限:
- Google Perspective:请求 API 访问权限。
- Google Ads:获取开发者令牌。
需要 Google Drive API
以下集成除了需要自己的 API 外,还需要 Google Drive API:
- Google Docs
- Google Sheets
- Google Slides
Google Vertex AI API
除了 Vertex AI API,您还需要启用 Cloud Resource Manager API。
-
选择启用。
配置您的 OAuth 同意屏幕#
如果您之前在 Google Cloud 项目中没有使用过 OAuth,您需要配置 OAuth 同意屏幕:
- 访问您的 Google Cloud Console - Library。确保您在正确的项目中。
检查 Google Cloud 顶部导航中的项目下拉菜单 - 打开左侧导航菜单并转到 APIs & Services > OAuth consent screen API 和服务 > OAuth 同意屏幕。Google 将重定向您到 Google Auth Platform 概览页面。
- 在 Overview 概览 选项卡上选择 Get started 开始使用 以开始配置 OAuth 同意。
- 输入 App name 应用名称 和 User support email 用户支持电子邮件 以包含在 OAuth 屏幕上。选择 Next 下一步 继续。
- 对于 Audience 受众,选择 Internal 内部 用于您组织的 Google workspace 内的用户访问,或选择 External 外部 用于任何拥有 Google 账户的用户。有关用户类型的更多信息,请参阅 Google 的 用户类型文档。选择 Next 下一步 继续。
- 选择 Google 应该用来联系您关于项目变更的 Email addresses 电子邮件地址。选择 Next 下一步 继续。
- 阅读并接受 Google 的用户数据政策。选择 Continue 继续,然后选择 Create 创建。
- 在左侧菜单中,选择 Branding 品牌。
- 在 Authorized domains 授权域名 部分,选择 Add domain 添加域名:
- 如果您使用 n8n 的 Cloud 服务,添加
n8n.cloud
- 如果您自托管,添加您的 n8n 实例的域名。
- 如果您使用 n8n 的 Cloud 服务,添加
- 在页面底部选择 Save 保存。
创建您的 Google OAuth 客户端凭据#
接下来,在 Google 中创建 OAuth 客户端凭据:
- 访问您的 Google Cloud Console。确保您在正确的项目中。
- 在 APIs & Services API 和服务 部分,选择 Credentials 凭据。
- 选择 + Create credentials + 创建凭据 > OAuth client ID OAuth 客户端 ID。
- 在 Application type 应用程序类型 下拉菜单中,选择 Web application Web 应用程序。
- Google 自动生成一个 Name 名称。将 Name 名称 更新为您在控制台中能识别的名称。
- 从您的 n8n 凭据中,复制 OAuth Redirect URL OAuth 重定向 URL。将其粘贴到 Google Console 中的 Authorized redirect URIs 授权重定向 URI。
- 选择 Create 创建。
完成您的 n8n 凭据#
在 Google 项目和凭据完全配置后,完成您的 n8n 凭据:
- 从 Google 的 OAuth client created OAuth 客户端已创建 模态框中,复制 Client ID 客户端 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 登录 以完成您的 Google 身份验证。
- Save 保存您的新凭据。
视频#
以下视频演示了上述步骤:
作用域#
Google 服务有一个或多个可能的访问作用域。作用域限制用户可以执行的操作。有关所有服务的作用域列表,请参考 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 hasn't verified this app Google尚未验证此应用。为避免这种情况:
- 如果您的应用User Type 用户类型是Internal 内部,请从您要身份验证的同一账户创建OAuth凭据。
- 如果您的应用User Type 用户类型是External 外部,您可以将您的电子邮件添加到应用的测试者列表中:转到Audience 受众群体页面,并将您登录时使用的电子邮件添加到Test users 测试用户列表中。
如果您需要使用由其他账户(开发者或其他第三方)生成的凭据,请按照 Google Cloud 文档 | 授权错误:Google 尚未验证此应用中的说明操作。
Google Cloud 应用变为未授权#
对于发布状态设置为测试且用户类型设置为外部的 Google Cloud 应用,同意和令牌会在七天后过期。有关更多信息,请参阅 Google Cloud Platform 控制台帮助 | 设置您的 OAuth 同意屏幕。要解决此问题,请在 n8n 凭据模态框中重新连接应用。