Skip to main content
Glama
leeguooooo
by leeguooooo
N8N_API_SETUP_GUIDE.md5.73 kB
# 🚀 n8n API 自动设置指南 使用 n8n API 自动导入和配置邮件监控工作流。 ## 📋 前提条件 ### 1. n8n API Key 你需要从 n8n 实例获取 API Key: 1. 登录 [n8n](https://n8n.ifoodme.com/) 2. 进入 **Settings** → **API** 3. 创建新的 API Key 4. 复制生成的 API Key ### 2. 环境变量 需要设置以下环境变量: ```bash # 必需 export N8N_API_KEY="your_n8n_api_key_here" # 可选 (已有默认值) export N8N_URL="https://n8n.ifoodme.com" export FEISHU_WEBHOOK="https://open.larksuite.com/open-apis/bot/v2/hook/a56c9638-cb65-4f95-bb11-9eb19e09692a" export PYTHONPATH="/Users/leo/github.com/mcp-email-service:$PYTHONPATH" # AI 过滤 (可选) export OPENAI_API_KEY="your_openai_api_key" # 用于 AI 智能过滤 ``` ## 🎯 快速开始 ### 方法 1: 使用便捷脚本 ```bash # 1. 设置 N8N_API_KEY export N8N_API_KEY="your_api_key" # 2. 运行设置脚本 ./setup_n8n.sh ``` ### 方法 2: 直接运行 Python 脚本 ```bash # 1. 设置环境变量 export N8N_API_KEY="your_api_key" export N8N_URL="https://n8n.ifoodme.com" export FEISHU_WEBHOOK="your_webhook_url" # 2. 运行 Python 脚本 python scripts/setup_n8n_workflow.py ``` ## 📝 脚本功能 自动设置脚本会: 1. ✅ 测试 n8n API 连接 2. ✅ 读取工作流配置文件 3. ✅ 更新脚本路径和环境变量 4. ✅ 检查是否存在同名工作流 5. ✅ 创建或更新工作流 6. ✅ 提供激活选项 ## 🔧 手动配置步骤 如果自动脚本遇到问题,可以手动配置: ### 1. 登录 n8n 访问 https://n8n.ifoodme.com/ ### 2. 导入工作流 1. 点击右上角的 **+** 按钮 2. 选择 **Import from file** 3. 选择 `n8n/email_monitoring_workflow.json` 4. 点击 **Import** ### 3. 配置环境变量 在 n8n 界面中: 1. 进入 **Settings** → **Environments** 2. 添加以下变量: - `FEISHU_WEBHOOK`: 你的飞书 webhook URL - `OPENAI_API_KEY`: OpenAI API 密钥 (可选) - `PYTHONPATH`: 项目路径 ### 4. 更新节点配置 编辑 **邮件监控** 节点: ```json { "command": "python", "arguments": "/Users/leo/github.com/mcp-email-service/scripts/email_monitor.py run", "options": { "cwd": "/Users/leo/github.com/mcp-email-service", "timeout": 600000, "output": "json", "continueOnFail": true } } ``` ### 5. 激活工作流 点击右上角的 **Inactive** 按钮激活工作流。 ## 🧪 测试工作流 ### 1. 手动测试 在 n8n 界面中点击 **Execute Workflow** 按钮。 ### 2. 检查执行历史 查看 **Executions** 页面,确认工作流运行正常。 ### 3. 验证通知 检查飞书群组是否收到测试通知。 ## 📊 脚本输出示例 ```bash 🚀 n8n 工作流自动设置工具 ⚙️ 配置信息: n8n URL: https://n8n.ifoodme.com n8n API Key: ********************abcd1234 飞书 Webhook: https://open.larksuite.com/open-apis/bot/v2/hook... 脚本路径: /Users/leo/github.com/mcp-email-service 🔍 测试 n8n API 连接... ✅ n8n API 连接成功: https://n8n.ifoodme.com 📋 当前工作流数量: 3 📦 开始导入工作流... 📁 读取工作流文件: n8n/email_monitoring_workflow.json 工作流名称: 智能邮件监控与通知 ⚠️ 发现同名工作流: 智能邮件监控与通知 (ID: 123) 将更新现有工作流... 📤 正在更新工作流 ID: 123 ✅ 工作流更新成功! ✅ 工作流设置完成! ID: 123 名称: 智能邮件监控与通知 URL: https://n8n.ifoodme.com/workflow/123 💡 提示: 1. 请在 n8n 界面中检查工作流配置 2. 确认环境变量设置正确: - FEISHU_WEBHOOK - OPENAI_API_KEY (可选) - PYTHONPATH 3. 测试工作流执行 是否立即激活工作流? (y/N): ``` ## 🛠️ 故障排除 ### 1. API 连接失败 **错误**: `❌ n8n API 连接失败: HTTP 401` **解决方案**: - 检查 N8N_API_KEY 是否正确 - 确认 API Key 是否已激活 - 验证 n8n URL 是否正确 ### 2. 工作流导入失败 **错误**: `❌ 工作流创建失败: HTTP 400` **解决方案**: - 检查工作流 JSON 文件格式 - 确认节点配置是否有效 - 查看详细错误信息 ### 3. 权限错误 **错误**: `Permission denied` **解决方案**: ```bash # 给脚本添加执行权限 chmod +x scripts/setup_n8n_workflow.py chmod +x setup_n8n.sh ``` ### 4. 环境变量未生效 **解决方案**: ```bash # 检查环境变量 env | grep -E "(N8N|FEISHU|OPENAI)" # 重新设置 source ~/.bashrc # 或 ~/.zshrc ``` ## 📚 相关文档 - [n8n API 文档](https://docs.n8n.io/api/) - [N8N_EMAIL_MONITORING_GUIDE.md](N8N_EMAIL_MONITORING_GUIDE.md) - 完整设置指南 - [PRODUCTION_DEPLOYMENT_GUIDE.md](PRODUCTION_DEPLOYMENT_GUIDE.md) - 生产部署指南 ## 💡 高级用法 ### 批量管理多个工作流 ```python from scripts.setup_n8n_workflow import N8NWorkflowManager manager = N8NWorkflowManager( 'https://n8n.ifoodme.com', 'your_api_key' ) # 列出所有工作流 workflows = manager.list_workflows() # 批量激活 for workflow in workflows: manager.activate_workflow(workflow['id']) ``` ### 自定义工作流配置 修改 `n8n/email_monitoring_workflow.json` 后重新运行: ```bash python scripts/setup_n8n_workflow.py ``` 脚本会自动检测并更新现有工作流。 ## 🔒 安全建议 1. **API Key 保护** - 不要将 API Key 提交到 git - 使用环境变量存储 - 定期轮换 API Key 2. **访问控制** - 限制 API Key 权限 - 使用最小权限原则 - 监控 API 使用情况 3. **Webhook 安全** - 使用 HTTPS URL - 配置签名验证 - 限制访问 IP --- **🎉 现在你可以通过一个命令自动设置 n8n 工作流了!**

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leeguooooo/email-mcp-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server