n8n 能不能接入微信和企业微信?

如标题,紫薯布丁。

1 个赞

以下内容由 AI 生成:

今天给大家分享一下如何使用强大的自动化平台 n8n 连接个人微信和企业微信,让我们可以轻松地构建各种自动化工作流。

重要提示: 由于个人微信的封闭性,官方并没有提供直接的 API 接口给第三方应用进行集成。因此,接入个人微信的方案通常依赖于一些间接方法,例如使用第三方的服务或者通过一些“曲线救国”的方式。请大家务必注意使用第三方服务时的安全性和合规性。企业微信则提供了相对完善的 API 接口,可以更方便地进行集成。

一、接入企业微信

企业微信提供了较为完善的 API 接口,n8n 可以通过 HTTP Request 节点或者一些第三方的 n8n 节点进行集成。

方法一:使用 HTTP Request 节点

  1. 获取企业微信 API 凭证:
    • 登录企业微信管理后台,进入“我的企业”->“企业信息”,获取 CorpID
    • 进入“应用管理”,创建或选择一个应用,获取 AgentIDSecret
  2. 在 n8n 中创建工作流:
    • 添加一个 HTTP Request 节点。

    • 设置请求方法为 POST

    • 在 URL 字段中,输入企业微信 API 的接口地址。例如,发送消息的接口地址为:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

    • 你需要先获取 access_token,可以通过调用企业微信的 /cgi-bin/gettoken 接口获取。

    • 在 Headers 中,设置 Content-Typeapplication/json

    • 在 Body 中,根据企业微信 API 的要求,构建 JSON 格式的请求体。例如,发送文本消息的请求体如下:

      {
         "touser" : "UserID1|UserID2|@all",
         "msgtype" : "text",
         "agentid" : AgentID,
         "text" : {
             "content" : "你的消息内容"
         },
         "safe":0
      }
      

      UserID1UserID2 替换为接收消息的用户 ID,AgentID 替换为你的应用 AgentID,你的消息内容 替换为实际要发送的消息。

  3. 构建获取 Access Token 的流程:
    • 在 HTTP Request 节点之前,你需要添加一个节点来获取 access_token。可以使用另一个 HTTP Request 节点,请求方法为 GET,URL 为 https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=CorpID&corpsecret=Secret。将 CorpIDSecret 替换为你的企业信息。
    • 使用 Set 节点或者 Function 节点从获取到的 JSON 响应中提取 access_token,并在后续的 HTTP Request 节点中使用。

方法二:使用第三方的 n8n 节点

社区中可能存在一些已经封装好的企业微信 n8n 节点,可以直接使用。你可以在 n8n 的节点市场中搜索 WeChat Work 或者 企业微信,查看是否有可用的节点。例如,我搜索到了一个名为 n8n-nodes-wechat-work 的自定义节点,它提供了一些常用的企业微信功能。你可以通过 npm install n8n-nodes-wechat-work 命令安装并使用。

二、接入个人微信

如前所述,个人微信没有官方的开放 API。根据 n8n 中文教程里的提示,以下是一些可能的方法,但请注意其风险和限制:

  1. 使用 Webhook 监听第三方服务:
    • 有一些第三方服务(例如一些自动化工具或平台)可能提供了监听个人微信消息并触发 Webhook 的功能。你可以使用 n8n 的 Webhook 节点来接收这些消息,并进行后续处理。
    • 你需要仔细评估这些第三方服务的可靠性和安全性。
  2. 使用桌面自动化工具(风险较高):
    • 理论上,你可以使用一些桌面自动化工具(例如 AutoHotkey、UIPath 等)来模拟人工操作微信客户端,并与 n8n 进行交互。但这涉及到模拟点击、文本识别等技术,实现复杂且不稳定,并且可能违反微信的使用条款。不推荐使用此方法。
  3. 利用开源的微信机器人框架(谨慎使用):
    • 有一些开源的微信机器人框架(例如 itchat、wechaty 等)可以通过编程方式与个人微信进行交互。你可以尝试结合 n8n 的 Execute Command 节点或者编写自定义的 n8n 节点来调用这些框架的功能。
    • 使用这些框架同样存在一定的风险,可能会被微信官方限制或封号。请务必谨慎评估风险。

三、常见应用场景

  • 企业微信:
    • 自动发送工作通知、会议提醒。
    • 接收并处理客户咨询消息。
    • 自动化审批流程通知。
    • 集成企业内部其他系统,例如工单系统、CRM 系统等。
  • 个人微信(风险较高):
    • 接收特定联系人的消息并进行自动回复(请遵守微信使用规范)。
    • 转发群消息到其他平台。
    • 个人知识管理,例如将微信中的重要信息保存到笔记应用。

四、总结

接入企业微信相对简单且稳定,通过官方 API 可以实现丰富的功能。而接入个人微信则比较复杂,且存在一定的风险。在选择方案时,请务必权衡利弊,并遵守相关平台的使用规定。

希望这篇教程能帮助到大家!欢迎在评论区交流你的经验和想法。

相关引用链接:

请注意: 本教程提供的信息仅供参考,具体实现可能因微信平台策略变化而有所不同。请务必查阅最新的官方文档和社区讨论。

请问下怎么接收企业微信群聊消息呢?我尝试弄了下webhook节点,企业微信那边显示apenapi回调地址不通过。应该是配置 Token 和 EncodingAESKey不知道怎么处理导致的。

自己搞会有点复杂,建议直接用社区节点:

用了这个节点,可以发消息,但是没找到接收消息触发的。(也有可能是我不会用)