Install
openclaw skills install wechat-mp-draft代写微信公众号文章并保存到公众号草稿箱。使用场景:用户需要撰写公众号文章并直接发布到微信公众号后台草稿箱。触发词:"写公众号文章"、"保存到公众号草稿"、"微信文章"、"公众号发文"。
openclaw skills install wechat-mp-draft代写微信公众号文章并保存到草稿箱。
需要以下凭证(需自行配置):
wxYOUR_APPID_HEREYOUR_SECRET_HERE获取方式: 微信公众平台 → 设置与开发 → 基本配置
重要: 服务器 IP 必须添加到公众号后台的 IP 白名单中。
./scripts/get_access_token.sh
封面图片是必填项!
./scripts/upload_image.sh <access_token> <图片路径>
返回示例:
{"media_id":"xxx","url":"http://mmbiz.qpic.cn/..."}
./scripts/add_draft.sh <access_token> <标题> <HTML内容> <thumb_media_id> [作者] [摘要]
原因:
thumb_media_id 是必填字段add_material 接口上传)解决:
必须先上传封面图片获取 thumb_media_id:
curl -F "media=@cover.jpg" "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=TOKEN&type=image"
解决: 登录微信公众平台 → 设置与开发 → 基本配置 → IP白名单 → 添加服务器 IP
解决:
tr '\n' ' ' 处理# 1. 获取 token
TOKEN=$(./scripts/get_access_token.sh | jq -r '.access_token')
# 2. 上传封面图
THUMB_RESPONSE=$(./scripts/upload_image.sh "$TOKEN" /path/to/cover.jpg)
THUMB_ID=$(echo "$THUMB_RESPONSE" | jq -r '.media_id')
# 3. 准备文章内容(HTML 格式)
CONTENT='<p>这里是文章内容...</p>'
# 4. 保存草稿
./scripts/add_draft.sh "$TOKEN" "文章标题" "$CONTENT" "$THUMB_ID" "作者" "摘要"
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 是 | 标题,不超过32字 |
| content | string | 是 | HTML内容,不超过2万字符 |
| thumb_media_id | string | 是 | 封面图片永久素材ID |
| author | string | 否 | 作者,不超过16字 |
| digest | string | 否 | 摘要,不超过128字 |
| show_cover_pic | number | 否 | 是否显示封面,0/1 |
| need_open_comment | number | 否 | 是否打开评论,0/1 |
| only_fans_can_comment | number | 否 | 是否仅粉丝可评论,0/1 |
<p> - 段落<br> - 换行<section> - 区块<img> - 图片(需先上传获取 media_id)<strong>, <b> - 加粗<span style="..."> - 带样式的文本<a href="..."> - 链接<h1>-<h6> - 标题| 错误码 | 说明 | 解决 |
|---|---|---|
| 40001 | access_token 过期 | 重新获取 |
| 40007 | media_id 无效 | 检查封面图是否上传正确 |
| 40164 | IP 不在白名单 | 添加 IP 到白名单 |
| 44002 | POST 数据为空 | 检查请求体 |
| 47001 | 数据格式错误 | 检查 JSON 格式 |
wechat-mp-draft/
├── SKILL.md # 本文件
├── scripts/
│ ├── get_access_token.sh # 获取 token
│ ├── upload_image.sh # 上传封面图片
│ └── add_draft.sh # 保存草稿
└── references/
└── api_reference.md # API 详细文档