N8N中文教程
集成节点/Built in_nodes/Credentials/Google

Google:服务账户#

使用服务账户(Service Account)比使用 OAuth2 更复杂。在开始之前,请先:

  • 检查你的节点是否兼容服务账户。
  • 确认你确实需要使用服务账户。对于大多数使用场景,OAuth2 是更好的选择。
  • 阅读 Google 官方文档中关于 创建和管理服务账户 的说明。

前提条件#

  • 创建一个 Google Cloud 账户。

设置服务账户#

将你的 n8n 凭据连接到 Google 服务账户共有四个步骤:

  1. 创建 Google Cloud Console 项目。
  2. 启用 API。
  3. 设置 Google Cloud 服务账户。
  4. 完成你的 n8n 凭据配置。

创建 Google Cloud Console 项目#

首先,创建一个 Google Cloud Console 项目。如果你已有项目,可跳至下一节:

  1. 使用你的 Google 账号登录 Google Cloud Console。
  2. 在顶部菜单栏中,点击顶部导航中的项目下拉菜单,选择 新建项目,或直接访问 新建项目页面。
  3. 输入 项目名称,并为你的项目选择一个 位置(Location)
  4. 点击 创建
  5. 检查顶部导航栏,确保项目下拉菜单中已选中你刚创建的项目。如果没有,请手动选择你刚刚创建的项目。 Google Cloud 顶部导航中的项目下拉菜单 查看 Google Cloud 顶部导航中的项目下拉菜单

启用 API#

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

  1. 访问你的 Google Cloud Console - 库。确保你处于正确的项目中。Google Cloud 顶部导航中的项目下拉菜单 检查 Google Cloud 顶部导航栏中的项目下拉菜单。
  2. 进入 APIs & Services > Library(API 和服务 > 库)。
  3. 搜索并选择你要启用的 API。例如,对于 Gmail 节点,请搜索并启用 Gmail API。
  4. 某些集成可能需要其他 API 或要求你申请访问权限:
    • Google Perspective:申请 API 访问权限
    • Google Ads:获取 开发者令牌 (Developer Token)

需要启用 Google Drive API 的集成

以下集成除了自身所需的 API 外,还需要启用 Google Drive API:

  • Google Docs
  • Google Sheets
  • Google Slides

Google Vertex AI API

除了 Vertex AI API 外,你还需启用 Cloud Resource Manager API。

  1. 点击 ENABLE(启用)。

设置 Google Cloud 服务账号#

  1. 访问你的 Google Cloud Console - API 库。确保你处于正确的项目中。 Google Cloud 顶部导航中的项目下拉菜单 检查 Google Cloud 顶部导航栏中的项目下拉菜单
  2. 打开左侧导航菜单,进入 APIs & Services > Credentials(API 和服务 > 凭据)。Google 将跳转至你的 凭据(Credentials) 页面。
  3. 选择 + 创建凭据 > 服务账号(Create credentials > Service account)
  4. 服务账号名称(Service account name) 中输入名称,并在 服务账号 ID(Service account ID) 中输入一个 ID。更多信息请参考 创建服务账号。
  5. 选择 创建并继续(Create and continue)
  6. 根据你的使用场景,你可以使用相应的部分来 选择角色(Select a role)授予用户对此服务账号的访问权限(Grant users access to this service account)
  7. 选择 完成(Done)
  8. 服务账号(Service Accounts) 区域下,选择你刚刚创建的服务账号。打开 密钥(Keys) 选项卡。
  9. 选择 添加密钥 > 创建新密钥(Add key > Create new key)
  10. 在弹出的对话框中,选择 JSON,然后点击 创建(CREATE)。Google 会将该文件保存到你的计算机上。

完成你的 n8n 凭据#

在 Google 项目和凭据配置完成后,请完成 n8n 凭据的设置:

  1. 打开下载的 JSON 文件。
  2. 复制 client_email,并在你的 n8n 凭据中将其填入 Service Account Email(服务账户邮箱)。
  3. 复制 private_key,不要包含前后的 " 引号,并将其作为 Private Key(私钥)填入 n8n 凭据中。

旧版本 n8n 如果你使用的是早于 0.156.0 版本的 n8n,请将 JSON 文件中的所有 \n 替换为换行符。

  1. 可选:选择是否要 模拟用户(Impersonate a User)(启用状态)。
  2. 若要使用此功能,你必须以 Google Workspace 超级管理员身份为服务账户启用全网域委派(Enable domain-wide delegation)。
  3. 输入你要模拟的用户的 Email(邮箱地址)。
  4. 如果你计划在 HTTP Request 节点中使用此凭据,请开启 Set up for use in HTTP Request node(为在 HTTP 请求节点中使用而设置)。
  5. 启用此设置后,你需要为该节点添加 Scope(s)(作用域)。n8n 已预填充部分作用域。更多信息请参考 Google API 的 OAuth 2.0 作用域。
  6. 保存你的凭据。

视频#

故障排除#

服务账户无法访问 Google Drive 文件#

无法访问“我的云端硬盘”(my drive) Google 不再允许在 2025 年 4 月 15 日之后创建的服务账户(Service Account)访问 my drive。目前,服务账户只能访问共享云端硬盘(shared drives)。 尽管不推荐,但如果你仍需要使用服务账户访问 my drive,可以通过启用全网域授权(domain-wide delegation) 实现。你可以在 社区的这篇帖子中了解更多信息。

服务账户无法访问未与其关联的用户邮箱共享的 Google Drive 文件和文件夹。请按以下步骤操作:

  1. 访问你的 Google Cloud Console,复制你的服务账户邮箱。
  2. 打开 Google Drive,找到目标文件或文件夹。
  3. 右键点击该文件或文件夹,选择 分享(Share)
  4. 添加人员和群组(Add People and groups) 中粘贴你的服务账户邮箱。
  5. 选择 编辑者(Editor) 以获得读写权限,或选择 查看者(Viewer) 以获得只读权限。

启用全网域委派#

要使用服务账户(service account)模拟用户操作,您必须为该服务账户启用全网域委派(domain-wide delegation)。

不推荐 Google 建议您避免使用全网域委派,因为它允许模拟任意用户(包括超级管理员),可能存在安全风险。

要将全网域权限委派给一个服务账户,您必须是 Google Workspace 网域的超级管理员。然后执行以下步骤:

  1. 登录您的 Google Workspace 网域的 管理控制台(Admin console),点击菜单按钮(汉堡菜单),然后选择 安全性 > 访问权限和数据控制 > API 控制(Security > Access and data control > API Controls)
  2. 全网域委派(Domain wide delegation) 面板中,点击 管理全网域委派(Manage Domain Wide Delegation)
  3. 点击 添加新项目(Add new)
  4. 客户端 ID(Client ID) 字段中,输入服务账户的 客户端 ID(Client ID)。获取 Client ID 的方法如下:
    • 打开您的 Google Cloud Console 项目,进入 服务账户(Service Accounts) 页面。
    • 复制 OAuth 2.0 客户端 ID(OAuth 2 Client ID),并将其用作 全网域委派(Domain Wide Delegation) 中的 客户端 ID(Client ID)
  5. OAuth 范围(OAuth scopes) 字段中,输入以逗号分隔的作用域列表,以授予您的应用相应访问权限。例如,如果您的应用需要对 Google Drive API 和 Google Calendar API 拥有全网域完全访问权限,请输入:https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/calendar
  6. 点击 授权(Authorize)

完成上述操作后,可能需要 5 分钟到 24 小时 才能成功模拟 Workspace 中的所有用户。

聊天查看文档 此页面 !Thumbs up有帮助 !Thumbs down无帮助 感谢您的反馈! 提交 上一页 Google OAuth2 通用配置 下一页 Google Gemini(PaLM) 凭据 由 Material for MkDocs Insiders 提供支持