搞定复杂认证:n8n HTTP Request 节点 OAuth2 连接 Google/Notion 教程

2026-01-21 13 0

还在为 API 认证头秃?OAuth2 其实没那么可怕

兄弟们,我是 N8N 大学的主编。今天咱们来聊一个让很多 n8n 新手甚至老手都头疼的问题:OAuth2 认证。

搞定复杂认证:n8n HTTP Request 节点 OAuth2 连接 Google/Notion 教程

相信你一定遇到过这种情况:想用 HTTP Request 节点去撩一下 Google 或者 Notion 的 API,结果被 OAuth2 这道高墙拦在门外。看着那堆乱七八糟的 Client ID、Secret、回调地址,还得去搞什么 Auth Code,是不是瞬间觉得还不如手动复制粘贴来得快?

别急,今天笔者就带你硬核拆解 n8n 的 OAuth2 认证流程。这不仅仅是一篇教程,更是帮你彻底搞懂这套机制的“避坑指南”。搞定了它,市面上 90% 的 API 接口你都能随便调用。

核心原理:把 n8n 变成你的“中间人”

在动手之前,咱们得先用大白话把 OAuth2 的逻辑理顺,否则你只是在机械地填表。

想象一下,你想进一个高档小区(第三方服务,如 Google),但门口保安(API)不认识你。这时候你需要一个担保人,也就是 n8n。OAuth2 的核心就是让 n8n 拿到一个“临时门禁卡”(Access Token)。

整个流程在 n8n 里被简化成了两步:

  1. 通用凭证(Credentials)配置:这是在 n8n 后台预先登记你的“担保人”身份。
  2. 节点调用:在具体的工作流里,HTTP Request 节点拿着这个凭证去敲门。

最爽的是,n8n 会自动帮你处理那个复杂的“跳转授权 -> 获取 Code -> 换 Token”的过程。你只需要点几下鼠标。

准备工作:磨刀不误砍柴工

直接上手操作前,先把下面这三样东西准备好。这里我以 Google 为例,Notion 的逻辑完全一样。

  • 一个 n8n 环境:无论是官方云版、自托管还是本地 Docker 都行。
  • 开发者账号:你需要去 Google Cloud Console 创建一个项目(免费)。
  • 回调地址(Redirect URI):这是最关键的!n8n 会告诉你一个地址,你必须原封不动地填进 Google 项目里,否则授权会直接失败。

笔者提醒: 很多新手在这里卡死,就是因为回调地址填错了一个字母或者斜杠。切记,完全一致!

实战演练:三步搞定 Google OAuth2

下面咱们进入实操环节。跟着笔者的步骤,一步一步来。

第一步:获取 Google 的“入场券”

1. 登录 Google Cloud Console,创建一个新项目。
2. 在左侧菜单找到 API 和服务 -> 凭据
3. 点击 创建凭据 -> OAuth 客户端 ID
4. 应用类型选 Web 应用程序
5. 在 授权重定向 URI 里,点击“添加 URI”。

这时候先别急着保存,打开你的 n8n。

第二步:配置 n8n 的通用凭证

1. 在 n8n 左侧菜单点击 Credentials(凭证)。
2. 点击右上角的 Add credential(添加凭证)。
3. 在下拉菜单中搜索并选择 Google OAuth2 API
4. 这时你会看到 n8n 给你的 Redirect URI。把它复制下来。

回到 Google Cloud Console,把这个 URI 粘贴进去,保存。然后 Google 会给你一对钥匙:Client IDClient Secret

把这两串字符复制回 n8n 的凭证配置页面。填好后,点击 Sign in with Google 按钮。浏览器会弹出一个授权窗口,一路点“允许”即可。

如果看到“Connection established”,恭喜你,凭证已经拿到了!

第三步:在 HTTP Request 节点中调用

现在,回到你的工作流,拖入一个 HTTP Request 节点。

重点来了,请关注这几个参数:

  • Authentication:选择 OAuth2 API
  • Credentials:选择刚才配置好的那个 Google 凭证。
  • URL:填入你要访问的 API 地址,例如 Google People API 的 https://people.googleapis.com/v1/people/me
  • Method:GET。

点击执行,你会发现数据直接回来了。中间复杂的 Token 获取、刷新、过期处理,n8n 全部帮你搞定了。

Notion 也是同样的配方

如果你要连接 Notion,流程几乎一模一样,只是换了个地方拿 Key。

1. 进入 Notion 的 **Integrations** 页面,新建一个 Integration。
2. 拿到 **Internal Integration Token**(Notion 这里叫这个,其实相当于 OAuth2 的 Access Token)。
3. 或者,如果你是做公共应用,需要走 OAuth2 流程,Notion 也会提供 Client ID 和 Secret。

注意: Notion 的 API 有一个特殊的坑,就是必须先**把 Integration 挂载到具体的页面**,否则 API 请求会返回空数据。这是 Notion 的机制,不是 n8n 的问题。

避坑指南:笔者的血泪经验

虽然流程已经很清晰,但实战中还是有几个暗坑,这里免费送给你。

坑点 1:Scope(权限范围)没填对

在配置 Credentials 时,Google 会要求你填写 Scopes。比如你只想读取用户信息,却申请了修改所有文件的权限,Google 可能会审核不通过,或者用户授权时被吓跑。在 n8n 的 Credentials 配置里,你可以手动指定 Scope,建议只申请必要的。

坑点 2:Token 过期报错 401

OAuth2 的 Token 是会过期的。如果你在工作流中突然收到 401 Unauthorized,不要慌。只要你的 Refresh Token 还在,n8n 会自动尝试刷新。如果刷新失败,通常是因为你在 Google 后台撤销了授权,重新走一遍“Sign in”流程即可。

坑点 3:HTTP Request 节点的参数位置

有些 API(比如 Notion)要求 Token 放在 Header 里,格式是 Authorization: Bearer xxx。如果你手动配置 HTTP Request,千万别忘了 Bearer 后面有个空格。但既然我们用了 OAuth2 凭证,n8n 会自动帮你生成这个 Header,你只需要把认证方式选对就行。

FAQ:你可能还想问

Q1: 我使用的是 n8n 云版,和自托管有区别吗?
A: 流程完全一致。唯一的区别是,自托管版本需要你自己配置公网回调地址,而云版 n8n 自带。

Q2: 为什么我点击“Sign in”后,n8n 页面卡住不动?
A: 通常是因为你的 n8n 实例无法访问公网,或者回调地址(Redirect URI)配置错误,导致 Google 无法跳转回 n8n。检查防火墙和网络设置。

Q3: 一个凭证可以给多个 HTTP Request 节点用吗?
A: 当然可以!这也是“通用凭证”的优势。在同一个工作流甚至不同工作流里,只要选同一个 Credential 即可,n8n 会复用 Token。

总结与资源

OAuth2 是现代 API 的标准,虽然看起来复杂,但在 n8n 的封装下,它已经变成了一个点几下鼠标就能解决的问题。核心在于理解“凭证”和“节点”的分离设计。

掌握了这套方法,Google Sheets、Gmail、Notion、Slack、Discord……这些主流平台的自动化大门已经为你敞开。

如果你觉得这篇教程帮到了你,欢迎关注 N8N 大学,我们致力于让你的每一行代码都写得更有价值。

相关文章

n8n Wait节点在数据同步中的延迟控制实战
n8n Wait节点免费版:我能用它实现定时任务吗?
n8n Error Handling节点:当自动化流程“翻车”时,如何让它自动“扶起来”?
n8n Error Handling节点报错常见问题解决
当n8n流程意外中断,Error Handling节点如何配置才能优雅降级?
n8n Error Handling节点和Try/Catch节点,到底该怎么选?

发布评论