mp_chajian/README.md
2025-10-15 17:55:23 +08:00

140 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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