zhangifonly

Weixin

開発v2.0.0
作者:zhangifonly更新日 2026-07-11全 3 バージョン · 最新版の公開日 2026-07-11weixin@clawhub_zhangifonly/weixin
コード生成バックエンド開発スクリプトツール#全栈开发#Miniprogram#Official Account#Payment#WeChat

AlphaMoatによると、2026-09時点でWeixinのダウンロード数は4,037、スター数は5で、AIスキル全体5,078件中2,528位、開発では577件中331位です。

インストール数
102
ダウンロード数
4037
スター数
5
総合順位
#2,528
全体の上位 50% · 開発の上位 58%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗10238271-
SkillHub ↗9840375—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

Python標準ライブラリによるCLIを含み、access tokenの取得とキャッシュ、公式APIの呼び出し、メディアのアップロード、草稿の作成と一覧表示、記事公開、公開履歴の確認を扱います。OAuth、JSSDK、決済連携の注意点も説明します。AppSecret、access token、加盟店秘密鍵などの認証情報を保護してください。記事公開、一斉送信、テンプレートメッセージは外部ユーザーに届く可能性があるため、実行前に内容と宛先を確認し、許可を得てください。

資料公開日 2026-10-29

できること

  • WeChat公式アカウントAPIを呼び出し、メディア素材を管理する。
  • 記事草稿を準備し、草稿箱や公開履歴を確認する。
  • アカウント認証、ミニプログラムのログイン、決済コールバックの開発上の注意を確認する。

使う場面

  • 公式アカウントの素材、草稿、公開済み記録を管理するとき。
  • API利用枠、IP許可リスト、トークンキャッシュを調査するとき。
  • 記事公開、一斉送信、テンプレート通知の前に、宛先、内容、権限、ユーザーの確認を要するとき。

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

記事を公開せずに、公式アカウントの草稿作成に必要なファイルと引数を列挙してください。
この草稿を公開する前に、対象、内容、重複公開リスクをまとめ、私の確認を待ってください。

月次の推移

ダウンロード数4037
2310323841652026-05 · ダウンロード数 24382026-06 · ダウンロード数 26452026-07 · ダウンロード数 33452026-08 · ダウンロード数 36392026-09 · ダウンロード数 403726-0526-09
スター数5
1352026-05 · スター数 22026-06 · スター数 32026-07 · スター数 12026-08 · スター数 52026-09 · スター数 526-0526-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-094037—5
2026-083639+8.8%5
2026-073345+26.5%1
2026-062645+8.5%3
2026-052438—2

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

6.0 KB・ClawHub v2.0.0
---
name: "微信公众平台开发"
version: "2.0.0"
description: "微信公众号/小程序 API 工具与实战避坑手册。Use for: (1) 用附带的零依赖 CLI 直接调公众号 API——取 token、传素材、建草稿、发布文章,(2) 排查 40164/45009 等真实高频错误,(3) 公众号接入/OAuth/JSSDK/支付 V3 开发指导。WeChat Official Account API CLI (zero-dependency) plus a battle-tested pitfall guide for token, media, draft and publishing workflows."
tags: ["wechat", "weixin", "official-account", "miniprogram", "api", "cli"]
author: "ClawSkills Team"
category: "social"
---

# 微信公众平台开发 Skill
すべて表示(全 133 行)

不止讲"微信开发是什么"——本 skill 附带一个**零依赖命令行工具**
(`scripts/wxoa.py`,仅 Python 标准库),让 agent 直接替用户完成
公众号内容发布全链路:取 token → 传封面 → 建草稿 → 发布 → 查发表记录。
另附一份**真实生产环境踩坑清单**(每一条都来自实际运营公众号的事故复盘)。

## 快速开始

```bash
export WX_APPID=wx开头的AppID
export WX_SECRET=公众号AppSecret

python3 scripts/wxoa.py token                        # 验证凭证
python3 scripts/wxoa.py call /cgi-bin/get_api_domain_ip   # 冒烟测试
```

脚本行为声明:仅请求 `api.weixin.qq.com`;本地只写一个 token 缓存文件
(系统临时目录,7000 秒过期),不读写其他文件。

## 命令手册

| 命令 | 作用 |
|------|------|
| `token` | 取 access_token(本地缓存,避免重复刷新挤掉线上服务的 token) |
| `call <path> [json]` | 通用调用:任何官方接口,无 body 为 GET,有 body 为 POST |
| `upload-image <file>` | 上传正文内图片(uploadimg,返回 url,不占素材库) |
| `upload-thumb <file>` | 上传永久图片素材(返回 media_id,作草稿封面) |
| `draft-add <标题> <html文件> <thumb_media_id> [作者] [摘要]` | 新建图文草稿 |
| `drafts [offset] [count]` | 列草稿箱 |
| `publish <media_id>` | 发布草稿(freepublish/submit) |
| `published [offset] [count]` | 列已发表记录 |

### 发一篇文章的完整流程

```bash
python3 scripts/wxoa.py upload-thumb cover.jpg
# → {"media_id": "MEDIA_ID", "url": "..."}
python3 scripts/wxoa.py draft-add "文章标题" article.html MEDIA_ID "作者名" "摘要"
# → {"media_id": "DRAFT_MEDIA_ID"}
python3 scripts/wxoa.py publish DRAFT_MEDIA_ID
# → {"publish_id": "..."}(异步,稍后用 published 查结果)
```

`call` 兜底示例(脚本未封装的接口都能调):

```bash
python3 scripts/wxoa.py call /cgi-bin/menu/get
python3 scripts/wxoa.py call /cgi-bin/user/get
python3 scripts/wxoa.py call /cgi-bin/message/template/send '{"touser":"OPENID","template_id":"...","data":{}}'
```

## 实战踩坑清单(生产事故复盘)

1. **40164 = IP 不在白名单**。公众号后台"IP白名单"只认配置过的服务器
   出口 IP。本地开发机直接调 token 必挂——要么把出口 IP 加白名单,
   要么经已加白的服务器中转。
2. **45009 = 接口日配额耗尽**。draft/freepublish 等接口有每日调用上限,
   耗尽后当天无解,次日 0 点重置。批量操作前先估算次数,脚本里
   **不要**对 45009 做无脑重试。
3. **access_token 全局唯一**。任何一端刷新 token 会使旧 token 失效——
   本脚本做了本地缓存,但若线上服务也在刷 token,两边会互相挤掉线。
   生产环境必须中心化缓存(Redis 等),临时脚本操作尽量复用线上缓存。
4. **发表记录里的标题会被截断**。用标题反查已发表文章时必须做
   **子串匹配**,完整标题 == 匹配会漏。freepublish/batchget 也只能
   拉最近的记录,历史全量要自己本地存档。
5. **推草稿前先去重**。同名文章已在草稿箱或已发表时重复 push 会造成
   重复群发风险,push 前先查 drafts + published 双向子串匹配。
6. **author 字段为空时部分第三方工具会跳过署名**,导致历史旧笔名残留。
   建草稿时显式传作者名。
7. **平台会判定"低创作度内容"**。纯 AI 生成、排比堆砌、无真实锚点的
   文章可能被限流。发布前自查:有无真实数据/引用/具体案例。
8. **封面必须独立生成**。公众号封面比例 900×383,从 16:9 头图硬裁
   必丢内容。

## 开发知识速查

### 服务器接入验证

```python
# GET 回调: sha1(sorted([token, timestamp, nonce])) == signature 则原样返回 echostr
tmp = ''.join(sorted([token, timestamp, nonce]))
ok = hashlib.sha1(tmp.encode()).hexdigest() == signature
```

### 网页授权 OAuth2.0(三步)

1. 跳 `open.weixin.qq.com/connect/oauth2/authorize`(scope=snsapi_base
   静默拿 openid / snsapi_userinfo 弹窗拿资料)
2. code 换 token:`/sns/oauth2/access_token`
3. 拉用户信息:`/sns/userinfo`(此 token 与全局 access_token 是两回事)

### 小程序登录

`wx.login()` 取 code → 服务端 `/sns/jscode2session` 换 openid+session_key
→ 生成自定义登录态。**session_key 绝不下发前端。**

### JSSDK 签名

`sha1("jsapi_ticket=T&noncestr=N&timestamp=TS&url=U")`,url 取 `#` 前部分。
jsapi_ticket 用全局 access_token 换取,同样需要中心化缓存。

### 支付 V3 要点

- 域名 `api.mch.weixin.qq.com`,JSON + SHA256withRSA 商户私钥签名
- 回调必须验签 + AES-256-GCM 解密 + **幂等处理**(微信会重复通知)
- 商户私钥/APIv3 密钥绝不进版本库

### API 域名速查

| 用途 | 域名 |
|------|------|
| 公众号/小程序 API | api.weixin.qq.com |
| 微信支付 | api.mch.weixin.qq.com |
| 网页授权入口 | open.weixin.qq.com |
| 企业微信 | qyapi.weixin.qq.com |

## 本 skill 不做什么

- 不提供绕过微信审核、风控或反自动化机制的方法
- 不含个人微信号(非公众平台)自动化——那是封号高危区
- 群发、模板消息等触达用户的写操作,agent 必须先向用户确认再执行
- 企业微信深度集成建议用专门的 `wework` skill

開発の人気スキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。