n8n连接企业微信
时间: 2025-04-28 12:28:51 浏览: 331
<think>好的,我现在需要解决用户的问题:如何使用n8n连接企业微信的解决方案或指南。用户之前询问过关于n8n集成企业微信API的文档或教程,现在需要详细的步骤。
首先,我得回忆一下n8n的基本功能。n8n是一个开源的工作流程自动化工具,支持多种应用和服务的集成。企业微信是腾讯的企业通讯工具,提供API供第三方应用集成。用户需要将两者连接起来,可能用于自动化消息发送、数据同步等场景。
接下来,我需要确定企业微信的API接口类型。企业微信的API通常需要获取企业ID、应用密钥等信息,并且需要进行身份验证,比如获取access_token。用户需要在企业微信后台创建应用,获取必要的凭证。
然后,考虑n8n中如何配置这些信息。n8n有HTTP Request节点,可以用来调用REST API。可能需要使用OAuth2或其他认证方式。此外,n8n可能有现成的企业微信节点或第三方开发的节点,但需要检查n8n的节点库。如果官方没有,可能需要自定义节点或使用Webhooks。
查阅n8n官方文档,发现n8n支持自定义HTTP请求,所以用户可以通过HTTP节点调用企业微信的API。例如,发送消息的API是POST请求到特定URL,携带access_token和消息内容。需要先获取access_token,这可能需要先发送一个GET请求到企业微信的token接口,使用企业ID和应用密钥。
接下来需要分步骤指导用户:创建企业微信应用、获取凭证、在n8n中设置HTTP请求节点获取token、再使用该token调用其他API。同时要注意token的有效期,可能需要定期刷新,这可以通过n8n中的调度功能实现。
还需要考虑错误处理和响应处理,比如检查API返回的错误码,确保消息发送成功。可能需要在n8n中添加条件判断节点来处理异常情况。
另外,用户可能需要示例工作流程,比如定时发送消息到企业微信。可以建议用户创建一个工作流,使用Cron节点定时触发,然后依次获取token,构造消息体,发送HTTP请求。
如果用户遇到问题,比如认证失败,需要提醒检查企业ID、应用密钥是否正确,或是否有IP白名单限制。参考企业微信的官方文档和n8n的社区资源可能会有帮助。
最后,确保回答结构清晰,步骤明确,并提供相关参考资料,如企业微信API文档和n8n的HTTP节点文档链接。可能还需要提醒用户关于安全性的问题,比如保护敏感信息如应用密钥,不要暴露在公开的工作流中。</think>### 如何使用n8n连接企业微信
以下是分步指南,基于n8n的HTTP请求节点和企业微信开放API实现集成:
---
#### **步骤1:在企业微信后台创建应用**
1. 登录[企业微信管理后台](https://work.weixin.qq.com/)
2. 进入「应用管理」→「自建应用」→「创建应用」
3. 记录以下凭证:
- `企业ID`(我的企业→企业信息)
- `AgentId`(应用详情页)
- `Secret`(应用详情页的"应用密钥")[^1]
---
#### **步骤2:在n8n中配置HTTP请求节点**
**2.1 获取Access Token**
- 企业微信API要求调用时携带有效access_token,通过GET请求获取:
```text
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={企业ID}&corpsecret={Secret}
```
- 在n8n中添加「HTTP Request」节点:
- Method: GET
- URL: 填入上述URL(替换变量)
- 响应解析:JSON格式
- 输出字段:`{{ $json.access_token }}`
**2.2 发送消息到企业微信**
- 使用企业微信[发送应用消息API](https://developer.work.weixin.qq.com/document/path/90236):
```text
POST https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}
```
- 在n8n中添加第二个「HTTP Request」节点:
- Method: POST
- URL: 动态填入上一步获取的access_token(例如`https://qyapi.weixin.qq.com/...?access_token={{ $node["获取Token"].json["access_token"] }}`)
- Headers: `Content-Type: application/json`
- Body(JSON格式示例):
```json
{
"touser": "@all",
"msgtype": "text",
"agentid": "你的AgentId",
"text": {"content": "Hello from n8n!"}
}
```
---
#### **步骤3:调试与扩展**
1. **参数动态化**:将`企业ID`、`Secret`等敏感信息存储在n8n的「Credentials」中,通过变量引用提升安全性。
2. **错误处理**:添加「IF」节点检查HTTP响应中的`errcode`字段(0表示成功,非0需处理异常)。
3. **定时触发**:结合「Cron」节点实现定时消息推送。
---
#### **示例工作流**
```json
// 导出为JSON可导入n8n
{
"nodes": [
{
"parameters": {},
"name": "Start",
"type": "n8n-nodes-base.start",
"typeVersion": 1
},
{
"parameters": {
"url": "=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={{ $credentials.企业ID }}&corpsecret={{ $credentials.Secret }}",
"options": {}
},
"name": "获取Token",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1
},
{
"parameters": {
"url": "=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={{ $json['access_token'] }}",
"options": {
"body": {
"json": {
"touser": "@all",
"msgtype": "text",
"agentid": "{{ $credentials.AgentId }}",
"text": {"content": "测试消息"}
}
}
}
},
"name": "发送消息",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1
}
]
}
```
---
###
阅读全文
相关推荐


















