论坛互联系统
约 1271 字大约 4 分钟
论坛互联系统
NapCat 论坛互联 API 系统 公开开发文档
一、接口信息
| 项目 | 内容 |
|---|---|
| 接口版本 | v1 |
| 接口地址 | https://bbs.mclinyunhai.com/wp-json/napcat/v1/publish |
| 请求方式 | POST |
| 数据格式 | application/json |
| 默认发布用户 | UID=3 |
二、接口概述
本接口用于通过 API 方式远程发布文章至指定 WordPress 站点,具备密钥鉴权、自定义内容配置、后台日志记录等核心能力。发布的文章将自动归属至用户 ID=3 的账号下,适配程序化发文、批量发文等各类场景,兼顾安全性与便捷性。
核心特性
双因子鉴权:采用 API Key + Secret 双因子鉴权,保障接口调用安全
灵活配置:支持自定义文章分类、标签、封面图,满足多样化发文需求
日志记录:后台自动留存调用日志,便于问题排查与统计
内容合规:内置内容合规校验,规避违规内容发布风险
三、请求头要求(必填)
请求头必须指定数据格式,否则将导致接口请求失败:
{
"Content-Type": "application/json"
}四、请求参数说明
所有参数均以 JSON 格式传递:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api_key | string | 是 | 由系统后台分配的专属 API 密钥,作为接口调用的身份鉴权凭证,不可泄露 |
| secret | string | 是 | 与 api_key 唯一匹配的秘钥,配合 api_key 完成双因子鉴权,需妥善保管 |
| title | string | 是 | 文章标题,不可为空,建议控制在 10-50 字之间 |
| content | string | 是 | 文章正文内容,不可为空,支持 HTML 格式(如换行 、段落 `<p></p>` 等标签) |
| cat_id | int | 否 | 文章所属分类 ID,不传则默认归属至 ID=1 的「未分类」 |
| tags | string | 否 | 文章标签,多标签需使用英文逗号分隔(例:"标签1,标签2,标签3") |
| image_url | string | 否 | 文章封面图网络 URL,需为可公开直接访问的有效链接(支持 http/https) |
五、站点分类 ID 对照表
| 分类名称 | 分类 ID | 分类名称 | 分类 ID |
|---|---|---|---|
| 未分类 | 1 | 科技资讯 | 14 |
| 游戏天地 | 4 | 问答互助 | 15 |
| 电竞竞技 | 5 | 资源分享 | 16 |
| 联机开黑 | 6 | 闲聊灌水 | 17 |
| 数码硬件 | 7 | 站务公告 | 18 |
| 软件工具 | 8 | 原创创作 | 11 |
| 动漫影视 | 9 | 生活日常 | 12 |
| 音乐音频 | 10 | 学习交流 | 13 |
六、开发请求示例(Python)
前置要求:使用前需提前安装 requests 库
pip install requestsimport requests
import json
# 接口基础配置
API_URL = "https://bbs.mclinyunhai.com/wp-json/napcat/v1/publish"
headers = {"Content-Type": "application/json"}
# 发文参数配置(请替换为实际鉴权信息和文章内容)
post_data = {
"api_key": "你的专属API Key",
"secret": "你的专属Secret",
"title": "API发布测试文章标题",
"content": "这是通过API发布的测试正文,支持HTML格式<br/>可换行展示内容,也可添加<p>段落标签</p>",
"cat_id": 9, # 对应「动漫影视」分类
"tags": "API发布,测试,动漫影视", # 多标签用英文逗号分隔
"image_url": "" # 留空不设置封面图,可替换为实际图片URL
}
# 发送请求并获取响应
try:
response = requests.post(API_URL, data=json.dumps(post_data), headers=headers, timeout=15)
# 解析响应结果(JSON格式)
response_data = response.json()
print("接口响应:", response_data)
except Exception as e:
print("请求失败,错误信息:", str(e))七、响应示例
7.1 正常返回(发布成功)
{
"code": 200,
"msg": "发布成功",
"url": "https://bbs.mclinyunhai.com/xxx/xxx",
"cat_id": 9,
"tags": "API发布,测试,动漫影视"
}7.2 错误返回(示例)
{
"code": 403,
"msg": "密钥不存在"
}八、错误码说明
| code | 状态说明 | 常见原因 |
|---|---|---|
| 200 | 发布成功 | 请求参数合法、鉴权通过、内容审核通过 |
| 400 | 请求参数错误 | 标题或内容为空、参数格式错误 |
| 403 | 鉴权失败/内容违规 | api_key 或 secret 错误、密钥已禁用、内容审核不通过 |
| 500 | 服务器内部错误 | 服务器异常、接口部署问题,需联系技术支持 |
九、使用规范
9.1 鉴权规范
api_key 和 secret 为专属鉴权凭证,禁止泄露、转借、售卖,若凭证泄露需及时联系管理员重置。
9.2 内容规范
禁止发布违法、违规、侵权、低俗、垃圾广告等内容,否则将禁用密钥并追究相关责任。
9.3 参数规范
多标签必须使用英文逗号分隔
封面图 URL 需为有效可访问链接
避免无效链接导致封面设置失败
9.4 调用规范
合理控制接口调用频率,避免高频批量请求给服务器造成压力,建议单次请求间隔 ≥ 1 秒。
9.5 排查规范
若请求失败,可先核对:
参数格式是否正确
api_key/secret 是否正确
根据错误码排查问题
无法解决可联系技术支持
十、技术支持
若接口调用过程中遇到问题(如错误码异常、发布失败、参数疑问等),可联系相关技术负责人排查处理,确保接口正常使用。