Google: OAuth2 通用#
本文档包含创建用于自定义操作的通用 OAuth2 Google 凭据的说明。
n8n 云服务用户注意事项
对于以下节点,您可以通过在 OAuth 部分中选择使用 Google 登录来进行身份验证:
前置条件#
- 创建一个 Google Cloud 账户。
设置 OAuth#
将您的 n8n 凭据连接到 Google 服务需要五个步骤:
创建 Google Cloud Console 项目#
首先,创建一个 Google Cloud Console 项目。如果您已经有项目,请跳转到下一节:
- 使用您的 Google 凭据登录到您的 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。
- 选择 Get started 开始配置 OAuth 同意。
- 输入要在 Oauth 屏幕上显示的 App name 和 User support email。
- 对于 Audience,选择 Internal 供您组织的 Google 工作区内的用户访问,或选择 External 供任何拥有 Google 账户的用户访问。有关用户类型的更多信息,请参考 Google 的用户类型文档。
- 选择 Google 应该用来联系您有关项目变更的 Email addresses。
- 阅读并接受 Google 的用户数据政策,然后选择 Create。
- 在左侧菜单中,选择 Branding。
- 在 Authorized domains 部分,选择 Add domain:
- 如果您使用 n8n 的云服务,添加
n8n.cloud
- 如果您是自托管,添加您的 n8n 实例的域名。
- 如果您使用 n8n 的云服务,添加
- 在页面底部选择 Save。
创建您的 Google OAuth 客户端凭据#
接下来,在 Google 中创建 OAuth 客户端凭据:
- 在 APIs & Services 部分,选择 Credentials。
- 选择 + Create credentials > OAuth client ID。
- 在 Application type 下拉菜单中,选择 Web application。
- Google 会自动生成一个 Name。将 Name 更新为您在控制台中能够识别的名称。
- 从您的 n8n 凭据中复制 OAuth Redirect URL 重定向 URL。将其粘贴到 Google Console 的 Authorized redirect URIs 中。
- 选择 Create。
完成您的 n8n 凭据#
Google 项目和凭据完全配置后,完成 n8n 凭据:
- 从 Google 的 OAuth client created 模态框中复制 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 服务有一个或多个可能的访问作用域。作用域限制用户可以执行的操作。有关所有服务的作用域列表,请参考 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 凭据模态框中重新连接应用。