wechat_api_spec.md 3.08 KB

微信公众号自动发布 API 接口规范

1. 官方 API 发布流程

  1. 获取 Access Token:全局凭据,有效期 2 小时,需定时刷新。
  2. 上传正文图片:调用 uploadImage 接口上传文章正文内图片,获取微信域名的图片 URL。
  3. 上传封面图片:调用素材管理接口上传封面图,获取永久素材的 thumb_media_id。
  4. 新建草稿:调用 draft/add 接口组装图文消息(HTML 内容)。
  5. 发布文章:调用 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