| .idea | ||
| get_media_id.py | ||
| get_permanent_media.py | ||
| get_token.py | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| upload_draft.py | ||
微信公众号插件API
这是一个基于FastAPI构建的微信公众号插件API服务,提供以下功能:
- 获取微信公众号access_token
- 上传临时图片到微信公众号素材库
- 上传永久图片到微信公众号素材库
- 上传文章草稿到微信公众号
功能特点
- 基于FastAPI框架,提供高性能的异步API服务
- 自动生成交互式API文档(Swagger UI和ReDoc)
- 完整的错误处理和参数验证
- 易于部署和扩展
安装依赖
pip install -r requirements.txt
启动服务
python main.py
服务将在 http://localhost:8000 上运行。
API文档
启动服务后,可以通过以下地址访问API文档:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
API接口说明
1. 获取access_token
- URL:
/token - 方法: POST
- 参数:
appid(string): 公众号的APPIDappsecret(string): 公众号的AppSecret
- 返回: access_token
示例请求:
{
"appid": "your_appid",
"appsecret": "your_appsecret"
}
2. 上传临时图片
- URL:
/upload_temp_image - 方法: POST
- 参数:
access_token(string): 公众号的access_tokenimage_url(string): 图片的URL地址
- 返回: media_id
示例请求:
{
"access_token": "your_access_token",
"image_url": "https://example.com/image.jpg"
}
3. 上传永久图片
- URL:
/upload_permanent_image - 方法: POST
- 参数:
access_token(string): 公众号的access_tokenimage_url(string): 图片的URL地址
- 返回: 永久素材的media_id
示例请求:
{
"access_token": "your_access_token",
"image_url": "https://example.com/image.jpg"
}
4. 上传文章草稿
- URL:
/upload_draft - 方法: POST
- 参数:
access_token(string): 公众号的access_tokentitle(string): 文章标题content(string): 文章内容(HTML格式)cover_media_id(string): 封面图片的media_idauthor(string): 作者digest(string, optional): 文章摘要show_cover_pic(int, optional): 是否显示封面,0不显示,1显示,默认为1
- 返回: 草稿的media_id
示例请求:
{
"access_token": "your_access_token",
"title": "文章标题",
"content": "<p>文章内容</p>",
"cover_media_id": "media_id",
"author": "作者名",
"digest": "文章摘要",
"show_cover_pic": 1
}
测试API
项目包含一个测试脚本 test_api.py,可以用来测试各个API接口的功能。使用前请先修改脚本中的参数为实际值。
python test_api.py
部署建议
在生产环境中,建议使用以下方式部署:
- 使用Gunicorn或Uvicorn作为生产级服务器
- 配置反向代理(如Nginx)
- 使用环境变量管理敏感配置
- 添加日志记录和监控
注意事项
- 请妥善保管公众号的APPID和AppSecret,不要泄露
- 上传的图片需要符合微信公众号的规范要求
- 永久素材有数量限制,请合理使用
- 草稿内容需要符合微信公众号的内容规范