接口版本:v1
接口地址:http://bbs.mclinyunhai.com/wp-json/napcat/v1/publish
请求方式:POST
数据格式:application/json
默认发布用户:UID=3
本接口用于通过API方式远程发布文章至指定WordPress站点,具备密钥鉴权、自定义内容配置、后台日志记录等核心能力。发布的文章将自动归属至用户ID=3的账号下,适配程序化发文、批量发文等各类场景,兼顾安全性与便捷性。
核心特性:
请求头必须指定数据格式,否则将导致接口请求失败,标准配置如下:
{
"Content-Type": "application/json"
}
所有参数均以JSON格式传递,明确区分必填与可选,详细说明如下:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api_key | string | 是 | 由系统后台分配的专属API密钥,作为接口调用的身份鉴权凭证,不可泄露 |
| secret | string | 是 | 与api_key唯一匹配的秘钥,配合api_key完成双因子鉴权,需妥善保管 |
| title | string | 是 | 文章标题,不可为空,建议控制在10-50字之间,避免过长或过短 |
| content | string | 是 | 文章正文内容,不可为空,支持HTML格式(如换行<br/>、段落<p>等标签) |
| cat_id | int | 否 | 文章所属分类ID,不传则默认归属至ID=1的「未分类」,需参考分类ID对照表填写 |
| tags | string | 否 | 文章标签,多标签需使用英文逗号分隔(例:"标签1,标签2,标签3"),不传则无标签 |
| image_url | string | 否 | 文章封面图网络URL,需为可公开直接访问的有效链接(支持http/https),留空则不设置封面图 |
发布文章时,可通过cat_id参数指定文章所属分类,未指定则默认使用「未分类(ID=1)」,分类对应关系如下:
| 分类名称 | 分类ID | 分类名称 | 分类ID |
|---|---|---|---|
| 未分类 | 1 | 科技资讯 | 14 |
| 游戏天地 | 4 | 问答互助 | 15 |
| 电竞竞技 | 5 | 资源分享 | 16 |
| 联机开黑 | 6 | 闲聊灌水 | 17 |
| 数码硬件 | 7 | 站务公告 | 18 |
| 软件工具 | 8 | 原创创作 | 11 |
| 动漫影视 | 9 | 生活日常 | 12 |
| 音乐音频 | 10 | 学习交流 | 13 |
以下为标准Python请求示例,适配Python
3.x版本,使用前需提前安装requests库(执行命令:pip install requests),使用时请替换为实际分配的api_key和secret:
import requests
import json
# 接口基础配置
API_URL = "http://123.56.216.95/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))
当请求参数合法、鉴权通过、内容审核通过时,返回以下JSON格式结果:
{
"code": 200,
"msg": "发布成功",
"url": "http://123.56.216.95/xxx/xxx", # 发布文章的访问链接
"cat_id": 9, # 实际发布的分类ID
"tags": "API发布,测试,动漫影视" # 实际设置的标签
}
当请求参数错误、鉴权失败或内容违规时,返回对应错误码及提示:
{
"code": 403,
"msg": "密钥不存在"
}
接口返回的code字段对应不同的请求状态,便于开发排查问题,详细说明如下:
| code | 状态说明 | 常见原因 |
|---|---|---|
| 200 | 发布成功 | 请求参数合法、鉴权通过、内容审核通过 |
| 400 | 请求参数错误 | 标题或内容为空、参数格式错误 |
| 403 | 鉴权失败/内容违规 | api_key或secret错误、密钥已禁用、内容审核不通过 |
| 500 | 服务器内部错误 | 服务器异常、接口部署问题,需联系技术支持 |
若接口调用过程中遇到问题(如错误码异常、发布失败、参数疑问等),可联系相关技术负责人排查处理,确保接口正常使用。