AI 自动发公众号
告诉 OpenClaw 一句话,文章就自动出现在公众号草稿箱里,你只需打开草稿箱 → 预览 → 发布。
第一步:获取公众号 API 凭证(5分钟)
获取 AppID 和 AppSecret
登录 mp.weixin.qq.com → 设置与开发 → 基本配置
- AppID:页面直接显示,复制即可
- AppSecret:点"重置"生成新的(只显示一次,务必保存)

配置 IP 白名单
同页面找到 IP 白名单,加入服务器出口 IP。不加会报 40164 错误。
不知道出口 IP?终端执行:
curl ifconfig.me
如果通过代理上网,要加代理出口 IP,不是本机 IP。
第二步:告诉 OpenClaw 配置
把 AppID 和 AppSecret 发给 OpenClaw:
帮我配置公众号自动发布:
AppID: wx你的AppID
AppSecret: 你的AppSecret
第三步:发文
告诉 OpenClaw:
帮我写一篇关于 xxx 的文章,推到公众号草稿箱
OpenClaw 自动完成 4 个步骤:
- 获取 access_token(AppID + AppSecret 换临时令牌,2小时有效)
- 上传图片到微信素材库(公众号只认
mmbiz.qpic.cn域名的图片) - 生成文章 HTML(公众号本质是 HTML 渲染)
- 推送到草稿箱(调用
draft/add接口)
你的工作:打开草稿箱 → 预览 → 发布。
常见坑与解决方法
坑 1:中文乱码(最常见!)
第一次推送"成功",打开草稿箱看到的是:\u4eca\u5929 \u5206\u4eab...
原因:Python requests 发 JSON 时默认 ensure_ascii=True,中文被转成 \uXXXX。微信 API 直接当原始文本存进去了。
❌ 错误写法:
requests.post(url, json=data) # 中文变乱码
✅ 正确写法:
requests.post(
url,
data=json.dumps(data, ensure_ascii=False).encode("utf-8"),
headers={"Content-Type": "application/json"}
)
坑 2:图片不显示
公众号过滤所有非微信域名图片。必须先用 uploadimg 接口把图片传到微信素材库,用返回的微信 URL。
坑 3:标题太长报 45003
微信标题限制约 64 字节(约 20 个中文字),缩短标题即可。
坑 4:HTML 标签兼容性差
公众号对 h2/ul/li/code 渲染不稳定,全部改用 p + inline style。
坑 5:40164(IP 白名单不对)
通过代理访问微信 API 时,白名单要加代理出口 IP,不是本机 IP。
效率对比
| 方式 | 时间 |
|---|---|
| 传统方式(写稿 + 排版 + 配图 + 检查) | 约 2 小时 |
| OpenClaw 自动化(说一句话 + 检查 + 发布) | 约 10 分钟 |
节省 90% 时间。