Skip to content

Google:服务帐户

使用服务帐户比 OAuth2 更复杂。开始之前:

先决条件

设置服务帐户

将您的 n8n 凭据连接到 Google 服务帐户有四个步骤:

  1. 创建一个 Google Cloud Console 项目
  2. 启用 API
  3. 设置 Google 云服务帐户
  4. 完成您的 n8n 凭证

创建 Google Cloud Console 项目

首先,创建一个 Google Cloud Console 项目。如果您已有项目,请跳至下一部分:

  1. 使用您的 Google 凭据登录到您的Google Cloud Console
  2. 在顶部菜单中,选择顶部导航中的项目下拉菜单,然后选择新建项目或直接转到新建项目页面。
  3. 输入项目名称并选择项目位置
  4. 选择“创建”
  5. 检查顶部导航栏,确保项目下拉菜单已选中您的项目。如果没有,请选择您刚刚创建的项目。

    检查 Google Cloud 顶部导航中的项目下拉菜单

启用 API

创建项目后,启用您需要访问的 API:

  1. 访问您的Google Cloud Console - Library 。确保您位于正确的项目中。
    检查 Google Cloud 顶部导航栏中的项目下拉菜单。
  2. 转到API 和服务 > 库
  3. 搜索并选择要启用的 API。例如,对于 Gmail 节点,搜索并启用 Gmail API。
    • Google 视角:
    • 。Google
    • 广告:获取
    • 。Google
    • 文档
    • Google 表格
    • Google 幻灯片
  4. 选择启用

设置Google云服务帐户

  1. 访问您的Google Cloud Console - Library 。确保您位于正确的项目中。

    检查 Google Cloud 顶部导航中的项目下拉菜单

  2. 选择汉堡菜单> API 和服务 > 凭据。Google 会将您带到您的凭据页面。

  3. 选择+ 创建凭据 > 服务帐户
  4. 服务帐号名称中输入名称,并在服务帐号 ID中输入 ID 。有关更多信息,请参阅创建服务帐号
  5. 选择“创建并继续”
  6. 根据您的用例,您可能需要选择一个角色并使用相应的部分授予用户对此服务帐户的访问权限
  7. 选择“完成”
  8. “服务帐户”部分下选择您新创建的服务帐户。打开“KEYS”选项卡。
  9. 选择添加密钥 > 创建新密钥
  10. 在出现的模式中,选择JSON ,然后选择CREATE 。Google 会将该文件保存到您的计算机。

完成你的 n8n 认证

在 Google 项目和凭证完全配置后,完成 n8n 凭证:

  1. 打开下载的 JSON 文件。
  2. 复制并将其作为服务帐户电子邮件输入到您的 n8n 凭证中。
  3. 复制。不要包含周围的标记。将其作为n8n 凭证中的私钥输入。

    n8n 的旧版本

    如果您运行的是早于 0.156.0 的 n8n 版本,请用新行替换 JSON 文件中的所有实例。

    1. 要使用此选项,您必须
    1. 以 Google Workspace 超级管理员的身份为服务帐号
    1. 启用全网域委派
    1. 输入
    1. 您要模拟的用户的
    1. 电子邮件
  4. 如果您计划将此凭据与HTTP 请求节点一起使用,请启用“设置用于 HTTP 请求节点”
    1. 启用此设置后,您需要
    1. 为该节点
    添加
    1. 范围
    。n8n 会预先填充一些范围。有关更多信息,请参阅
    1. Google API 的 OAuth 2.0 范围
  5. 保存您的凭证。

视频

以下视频演示了上述步骤。

故障排除

服务帐户无法访问 Google Drive 文件

服务帐户无法访问未与其关联用户电子邮件共享的 Google Drive 文件和文件夹。

  1. 访问您的Google Cloud Console并复制您的服务帐户电子邮件。
  2. 访问您的Google Drive并转到指定的文件或文件夹。
  3. 右键单击文件或文件夹并选择共享
  4. 将您的服务帐户电子邮件粘贴到“添加人员和群组”中。
  5. 选择编辑器进行读写访问或选择查看器进行只读访问。

启用全域委派

要使用服务帐户模拟用户,您必须为该服务帐户启用域范围的委派。

不推荐

Google 建议您避免使用域范围委派,因为它允许模仿任何用户(包括超级管理员)并可能带来安全风险。

要将全网域权限委托给服务帐号,您必须是 Google Workspace 网域的超级管理员。然后:

  1. 从您的 Google Workspace 域的管理控制台中,选择汉堡菜单,然后选择安全 > 访问和数据控制 > API 控制
  2. “域范围委派”窗格中,选择“管理域范围委派”
  3. 选择“添加新”
  4. “客户端 ID”字段中,输入服务帐户的客户端 ID 。获取客户端 ID 的方法如下:
    • 打开您的 Google Cloud Console 项目,然后打开
    • 页面。
    • 复制
    • OAuth 2 客户端 ID
    • ,并将其用作
    • 域范围委派
    • 客户端 ID
  5. OAuth 范围字段中,输入以逗号分隔的范围列表,以授予您的应用访问权限。例如,如果您的应用需要全网域范围内对 Google Drive API 和 Google Calendar API 的完全访问权限,请输入: 。
  6. 选择授权

您可能需要 5 分钟到 24 小时的时间才能模拟工作区中的所有用户。