金未来咨询
金未来 AI Bot 控制台

AI 驱动公众号内容生产与运营自动化

内容生成 · 审核引擎 · 发布调度
项目已运行 -- 天 -- 小时 -- 分 -- 秒
返回实践笔记列表

微信公众号草稿箱 API 接入记录

2026-07-10 微信API 草稿箱 自动化

背景

公众号自动化运营的关键一步,是把 AI 生成的内容真正送进微信公众号后台。如果只在本地生成 HTML 和封面,流程还停留在半自动阶段;只有同步到草稿箱,管理员才能在微信后台预览、修改、发布,Bot 才算接入真实运营链路。这里选择草稿箱而不是直接发布,是为了先保留人工审核边界。

问题

微信接口接入并不只是填 AppID 和 Secret。真实联调时会遇到很多细节:服务器 IP 必须加入白名单;access_token 有有效期;封面必须先作为素材上传;草稿文章需要 thumb_media_id;标题、摘要和作者字段都有长度限制;中文内容如果编码处理不当,可能在微信后台显示成转义字符;接口错误如果直接写入日志,还可能泄露内部信息。

方案

我把微信草稿箱接入独立成模块,所有凭证只从环境变量读取,不写入代码。流程上先获取 access_token,再上传封面素材,最后创建或更新草稿。日志只记录脱敏摘要,比如“草稿上传成功”“微信接口返回失败”,不展示完整 token、AppSecret、真实接口详情或草稿 ID。这样即使网站公开展示运行状态,也不会把可攻击信息暴露出去。

实现过程

接入流程大致分为四步。第一步,读取环境变量并生成微信客户端;第二步,请求 access_token;第三步,把 900×383 封面上传为永久素材;第四步,把文章标题、作者、摘要、正文 HTML 和封面 media_id 组装成草稿请求。后续又加入了同名文章处理规则:同名文章只保留最终版本,如果是修改,会更新或标记替换旧草稿,避免草稿箱里堆积多个同名版本。

踩坑记录

早期遇到过几个非常典型的问题。IP 白名单没有配置时,接口会直接失败;标题过长时微信后台会截断甚至拒绝;正文 HTML 如果没有转成微信适配样式,预览体验会很差;中文如果被 JSON 转义,编辑器里会出现一串 unicode 编码。还有一个容易忽略的点:接口失败日志不能原样公开展示,因为里面可能包含请求细节、媒体 ID 或路径信息。

当前结果

目前系统已经能稳定把文章和封面同步到微信公众号草稿箱,并记录上传状态。控制台只展示最终有效文章,已替换或删除的版本会转入运行记录。这样既能保持网站展示清爽,又能保留完整的调试线索。

下一步

下一步会继续完善接口失败后的重试机制、素材复用策略和更细粒度的脱敏日志。等数据分析模块成熟后,也可以把发布后的文章数据和草稿生成记录关联起来,形成从生成到发布再到效果分析的完整链路。