wechat_api_spec.md
3.08 KB
微信公众号自动发布 API 接口规范
1. 官方 API 发布流程
- 获取 Access Token:全局凭据,有效期 2 小时,需定时刷新。
- 上传正文图片:调用
uploadImage接口上传文章正文内图片,获取微信域名的图片 URL。 - 上传封面图片:调用素材管理接口上传封面图,获取永久素材的
thumb_media_id。 - 新建草稿:调用
draft/add接口组装图文消息(HTML 内容)。 - 发布文章:调用
freepublish/submit将草稿发布出去(仅生成文章链接,不推群发通知)。
注意:"群发"(给所有粉丝推送通知)和"发布"(仅生成文章链接)是两个不同的接口。
2. 关键接口
获取 Access Token
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
- 返回:
access_token(7200 秒有效) - 限制:调用服务器 IP 必须在公众号后台的 IP 白名单 中。
上传图文消息内的图片
POST https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN
- 格式:
multipart/form-data - 参数字段:
media(图片文件) - 格式限制:JPG、PNG,大小不超过 1MB
- 返回:
url(可直接用于正文 HTML<img>标签) - 特点:不计入素材库 10 万张限制
新建草稿(draft/add)
POST https://api.weixin.qq.com/cgi-bin/draft/add?access_token=ACCESS_TOKEN
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
title |
是 | 标题 |
author |
否 | 作者 |
digest |
否 | 单图文摘要,不填默认抓取正文前 54 字 |
content |
是 | 图文消息正文,支持 HTML, |
content_source_url |
否 | "阅读原文"跳转链接 |
thumb_media_id |
是 | 封面图片素材 ID(必须是永久素材的 MediaID) |
need_open_comment |
否 | 是否打开评论(0 关闭,1 打开) |
only_fans_can_comment |
否 | 是否仅粉丝可评论(0 所有人,1 粉丝) |
发布图文(freepublish/submit)
POST https://api.weixin.qq.com/cgi-bin/freepublish/submit?access_token=ACCESS_TOKEN
3. 内容格式与限制规范
| 项目 | 规范要求 |
|---|---|
| 正文格式 | 必须为 HTML,不能包含 JS |
| 字符限制 | 正文内容 |
| 图片限制 | JPG/PNG,uploadimg 接口获取的 URL |
| 封面图 | 必须是永久素材,获取 thumb_media_id |
| 群发限制 | 客服接口推送图文条数限制在 1 条以内,否则返回 45008 |
4. 发布 vs 群发
- 发布(
freepublish):生成公开链接,粉丝不会收到通知,无次数限制。 - 群发(
mass send):粉丝会收到推送通知,订阅号每天限 1 次,服务号每月限 4 次。
Source
- https://developers.weixin.qq.com/doc/service/en/api/notify/message/api_uploadimage.html
- https://wind13.github.io/post/2024/how-to-publish-doc-by-wx-api/
- https://www.sohu.com/a/959262239_122563555
- GitHub: iamzifei/wechat-article-publisher-skill