API 使用指南
Rin 提供了基于 API 密钥的外部调用接口,允许脚本或 AI 智能体在不登录的情况下管理站点内容与设置。所有接口都位于 /api/key/ 路径下。
创建 API 密钥
API 密钥只能由管理员创建。以管理员身份登录后,进入后台「设置」页面,滚动到底部的「API 密钥」区域即可创建、修改、轮换和删除密钥。
密钥归属于创建它的管理员账号,其他账号不会看到这些密钥。
创建时可设置:
- 名称:便于识别的备注,可随时修改。
- 权限范围:勾选该密钥允许调用的能力,每个业务域为一个独立权限。
- 存储方式:
- 加密存储(默认):密钥只在创建时显示一次,之后无法再次查看,只能轮换。
- 明文可见:密钥以加密形式保存在数据库中,可随时在设置页查看与复制。
存储方式在创建时确定。加密存储的密钥无法改为可查看;可查看的密钥可以随时关闭查看能力,密钥本身仍然有效,只是不再展示明文。需要可随时查看的密钥时,请新建一个。
调用方式
在请求头中携带密钥,两种写法等价:
密钥是 32 位字符。缺失或无效时返回 401,权限不足时返回 403。
查询当前密钥的权限
返回该密钥拥有的权限范围,以及每个权限下可用的接口列表:
权限与接口
文章管理
发布文章
修改文章
只传需要修改的字段即可,未传的字段保持原值。
删除文章
友链管理
创建友链
修改友链
删除友链
动态管理
发布动态
修改动态
删除动态
设置项
设置类接口统一为 GET /api/key/config/{section} 读取、POST /api/key/config/{section} 写入。写入时只能包含该 section 允许的键,出现范围外的键会返回 400 并列出被拒绝的键名。
各 section 可写键
网站图标(favicon)不在任何 section 的可写范围内。
测试 Webhook
请求体中的 webhook_url 等字段可临时覆盖已保存的配置,仅对本次测试生效。
清空缓存
内容归属
通过 API 发布的文章与动态默认归属到用户 ID 1 的账号。如需改为其他账号,修改 server/src/services/api-key-owner.ts 中的 API_KEY_CONTENT_OWNER_UID 常量后重新部署。
错误响应
安全建议
- 为不同用途创建不同的密钥,按最小必要原则勾选权限。
- 不要在浏览器前端或公开仓库中暴露密钥。
- 怀疑泄露时立即轮换或删除密钥。
- 不在使用的密钥及时删除。