最近,我被一个推送消息的需求给难住了。

过去,我们习惯让服务器生成每日报告,然后一股脑儿地用邮件发给自己。结果就是,邮箱里塞满了各种报告文件,翻找起来特别麻烦。我一直在想,有没有什么更清爽的替代方案?

企业微信自带的消息API进入了我的视线。

我相信很多人都用过像 Server酱 或者 PushPlus 这类的第三方推送服务。它们确实方便,往往一行代码就能把通知发到微信上,简单快捷。

但用久了,你可能会遇到一些小问题:服务依赖第三方,偶尔会不太稳定;想自定义一些功能时,又感觉束手束脚。于是我琢磨着:为什么不干脆自己动手,搞一个专属的、完全可控的推送机器人呢?

企业微信的API,可以说是一个现成的完美方案——稳定、免费,而且配置起来比想象中要简单得多。

整个过程中,最大的“拦路虎”,其实是那个“可信IP”的验证。特别是对于没有固定公网IP,或者不想折腾服务器的同学来说,很容易在第一步就卡住。

今天,我就给大家分享一个思路:借助我用ClawCloud免费容器搭建的一个中转服务,巧妙绕过“可信IP”的验证。后续,你甚至可以直接通过这个中转服务来发消息。当然,如果你有带固定公网IP的服务器,直接研究官方API也是一个非常不错的选择。

关于ClawCloud免费容器我这不过多介绍了,可以参考我公众号的另一篇文章: https://mp.weixin.qq.com/s/8XfRSP250YV4QaNswI3pzw, 今天这个项目的镜像名是: wangwangit/wangwangit:qywx ,参考下图配置即可!

image-20250706123720924

准备工作

你不需要准备太多东西,只需要一个企业微信账号。个人也能免费注册,去官网 (https://work.weixin.qq.com/wework_admin/register_wx) 填些基本信息就好。

image-20250706093529921


第一步:创建你的企业微信应用

首先,登录企业微信后台,找到 「应用管理」->「自建」->「创建应用」

这里需要你上传一个应用Logo(随便找张图就行),再给应用起个名字,比如我就叫它“测试”。

image-20250706093033046

应用创建成功后,点进去。有三个关键信息将作为后续所有操作的“身份凭证”,请务必找个地方把它们记下来

  1. AgentId (应用ID)
  2. Secret (应用密钥,需要用企业微信App扫码查看,切勿泄露)
  3. 企业ID (在后台 「我的企业」 页面,拉到最下方就能看到)

image-20250706095107225

提醒一下:别忘了在应用的“可见范围”里,把你希望接收消息的同事(或者就你自己)加进去,否则机器人会不知道该把消息发给谁。

第二步:搞定最关键的“可信IP”

这是整个流程中最容易让人放弃的地方。

正常情况下,企业微信要求你提供一个公网服务器地址(URL)。它会向这个地址发送一个验证请求,你的服务器需要给出正确的回应,才算通过。验证通过后,才能继续添加“可信IP”。

但我们大多数人哪有现成的公网服务器来做这个事呢?别慌,我们可以“借”一个。

  1. 在你的应用配置页面,找到“接收消息”功能区,点击“设置API接收”。

    image-20250706105330585

  2. 进去之后,TokenEncodingAESKey 这两项,直接点右侧的“随机获取”。然后,立刻把这两个值复制下来备用。

    image-20250706105321656

  3. 接下来是重点:打开下面这个我搭建的中转服务网站,它专门用来完成这次验证“握手”。
    地址:https://push.wangwangit.com

  4. 把上一步你复制的 TokenEncodingAESKey 粘贴到网站对应的输入框里,它会立刻为你生成一个临时的回调URL。

    image-20250706110404368

  5. 将这个刚刚生成的URL,完整地复制粘贴回企业微信的“URL”配置框中,然后点“保存”。

    Duang!你会惊喜地发现,验证竟然直接通过了!

这一步的原理,就是我们借用了这个中转服务作为“跳板”,它帮我们接收并正确地响应了企业微信的验证请求。验证完成后,这个跳板的使命就结束了。

URL验证通过后,企业微信的“企业可信IP”功能也就随之解锁了。现在,你就可以把你真正用来发消息的服务器IP填进去了。

  • 如果你有服务器,就填服务器的公网IP。
  • 如果你在家里,没有固定公网IP,可以配置一个DDNS动态域名,然后把域名填进去。
  • 最直接的,你甚至可以把你家当前的公网IP填进去(缺点是IP地址改变后,需要回来重新修改)。

image-20250706110908500

添加完这个IP后,今后只有来自该IP的请求才能调用API发消息,非常安全。

第三步:生成你的专属推送URL

到这里,企业微信后台的配置基本完成了。理论上,你已经可以对照着官方API文档,自己写代码来调用接口、推送消息了。

但为了“懒”得更彻底一点,我们可以继续使用那个中转服务,它能把复杂的API调用过程,封装成一个极其简单的URL。你只需要请求这个URL,就能轻松发消息。

动手能力强的同学,可以去GitHub上自己部署这个服务,实现完全私有化:https://github.com/wangwangit/qywx-push

这里我继续用公共服务来演示:

  1. 再次回到中转服务网站:https://push.wangwangit.com
  2. 这次,我们把第一步记录的 企业IDSecretAgentId 填到下方的“生成推送URL”配置区。
  3. 点击“获取成员列表”,选中你希望接收消息的用户(注意:用户需要先在企业微信中关注你的企业和这个自建应用)。
  4. 点击“完成配置”。

image-20250706111912028image-20250706111011596

网站会立刻为你生成一个专属的调用地址。这个地址非常重要,请务必保存好! 你可以点击右上角的“API文档”查看详细的调用方法。

image-20250706111102333

今后,如果你想让AI帮你写一段带通知功能的代码,你只需要把这个URL和对应的API文档一起告诉它,就能快速搞定。

最后:享受你的成果!

现在,大功告成!

无论你想在Shell脚本、Python程序,还是任何支持HTTP请求的地方实现通知功能,只需要调用一下上面生成的那个专属URL,消息就能瞬间推送到你的企业微信里。

我个人还有一个很喜欢的小技巧:在手机上把这个企业微信应用“发送到桌面”,让它看起来就像一个独立的App,接收消息和查看都非常方便。

image-20250706111654165image-20250706111635713

从今以后,再也不用被塞满报告的邮箱困扰了!