在 n8n 的自动化实战中,API 密钥(API Key)就像是进入系统后台的通行证。无论是调用外部 API,还是通过 HTTP Request 节点发送数据,正确的密钥配置是连接自动化流程与外部世界的“握手”环节。
作为 N8N大学 的主编,我见过太多新手因为漏掉一个 Header 字段,或者搞混了 Bearer Token 的格式,导致流程报错卡顿。今天,这篇指南不讲虚的,咱们手把手实操,把 API 认证这块硬骨头啃下来。
为什么 API 密钥配置是自动化的“命门”?
很多第三方平台(如 OpenAI、Notion、Stripe)都提供了 API 接口。为了安全,它们不会让你裸奔访问,而是要求你提供一个密钥。
在 n8n 中,这个密钥通常需要通过 HTTP Request 节点的 Headers 参数传递。如果配置错误,你收到的不会是数据,而是冷冰冰的 401 Unauthorized 或 403 Forbidden。这不仅浪费时间,还会导致数据丢失。
准备工作:确认你的“入场券”
在开始之前,请确保你手头有以下两样东西:
- 一个可用的 n8n 环境:无论是云端版、本地安装还是 Docker 部署。
- 目标平台的 API Key:以 OpenAI 为例,你需要去官网后台生成一个 Secret Key。
笔者建议:在调试阶段,尽量使用测试环境的密钥,避免误操作扣费或污染生产数据。
核心实操:在 n8n 中配置 API 认证
这里我们以 HTTP Request 节点为例,演示最常见的 Bearer Token 认证方式(这也是 OpenAI、Notion 等主流服务的通用标准)。
步骤 1:添加 HTTP Request 节点
打开你的 n8n 工作流,点击“+”号添加节点,搜索并选择 HTTP Request。这是 n8n 中最灵活的万能节点。
在节点配置中,设置 Method 为 GET(用于获取数据)或 POST(用于发送数据)。这里我们以获取模型列表为例,URL 填写 https://api.openai.com/v1/models。
步骤 2:配置 Headers(关键步骤)
这是配置 API 密钥的核心区域。点击 Headers 选项卡。
你需要添加一行新的 Header 字段:
- Name:
Authorization(注意大小写,必须完全一致) - Value:
Bearer sk-你的实际API密钥(注意 Bearer 后面有一个空格)
这里的 Bearer 是认证类型,表示你持有的是一个不记名令牌。如果你漏掉了 Bearer 前缀,只填密钥,服务器将无法识别你的身份。
步骤 3:处理 JSON 响应
配置好密钥后,点击“执行节点”。如果一切正常,你应该能在 Output 中看到 JSON 格式的响应数据。
为了方便后续节点使用,建议在 Response Format 中选择 JSON。这样 n8n 会自动解析数据,你可以通过 {{ $json.data[0].id }} 这种表达式直接提取数据。
进阶技巧:使用 n8n Credentials(推荐)
虽然手动填 Header 可以快速测试,但在生产环境中,为了安全和复用,强烈建议使用 n8n 的 Credentials 功能。
在 HTTP Request 节点的 Authentication 下拉菜单中,选择 Generic Credential Type -> Header Auth。然后新建一个 Credential,将 API Key 填入 Value 字段。这样,密钥就与工作流逻辑解耦了。
避坑指南:这些错误我踩过,你别踩
1. 401 Unauthorized (未授权)
这是最常见的报错。90% 的原因是 Header 名称拼写错误,或者忘了加 Bearer 前缀。请仔细检查 Authorization 拼写,并确保 Bearer 和密钥之间有一个空格。
2. 403 Forbidden (禁止访问)
如果密钥格式正确但返回 403,通常意味着密钥权限不足,或者该密钥被禁用了。请检查你在目标平台(如 OpenAI)后台是否开启了相关接口的权限。
3. 429 Too Many Requests
API 调用频率超限。这不是配置错误,而是流量控制问题。建议在 n8n 中添加 Wait 节点,或者在代码节点中实现简单的重试机制。
FAQ:关于 API 密钥配置的常见问题
Q1: 我的 API 密钥在哪里生成?
这取决于你使用的服务。通常在该服务的开发者后台、设置或 API 管理页面中。例如,OpenAI 在 Dashboard -> API Keys;Notion 需要在 Integrations 页面创建。
Q2: 密钥包含特殊字符,需要转义吗?
通常不需要。n8n 的 HTTP Request 节点会自动处理 Header 中的特殊字符。但如果遇到问题,可以尝试将密钥进行 URL 编码(Percent Encoding)。
Q3: 如何安全地分享包含密钥的工作流?
绝对不要直接导出包含密钥的工作流 JSON。请使用 n8n 的 Credentials 功能,导出工作流时选择不包含凭证,然后让接收者在自己的环境中重新配置密钥。
总结与资源
配置 API 密钥是 n8n 自动化中最基础但也最重要的一环。掌握了 HTTP Request 节点的 Headers 配置,你就打通了 n8n 与 90% 互联网服务之间的桥梁。
如果你在配置过程中遇到特定的报错代码,欢迎在 N8N大学 社区留言,笔者会第一时间帮你排查。记住,自动化是一场马拉松,每一次报错都是通往精通的垫脚石。