📦 代码分享器

API 使用方法

所有接口都位于 https://你的域名 之下。单条读取与 /web/raw 分享链接公开可用(拿到链接即可访问);列表、创建 / 更新 / 删除需要鉴权 (会话 Cookie、入门密码或 API Key 三选一)。

一、基本概念

二、鉴权(三选一)

方式写法适用场景
入门密码Authorization: Bearer 你的密码临时脚本、curl 调试
API KeyAuthorization: Bearer csk_xxxx_yyyy程序长期调用(可设有效期,推荐)
会话 Cookie登录后浏览器自动携带网页后台
# 用入门密码
curl -s -X POST "https://你的域名/api/snippets" \
  -H "Authorization: Bearer 你的密码" \
  -H "Content-Type: application/json" \
  -d '{"title":"hello","language":"text","content":"world"}'

# 用 API Key(在后台「API 管理」页创建)
curl -s -X POST "https://你的域名/api/snippets" \
  -H "Authorization: Bearer csk_xxxx_yyyy" \
  -H "Content-Type: application/json" \
  -d '{"title":"hello","language":"text","content":"world"}'
注意:API Key 只能操作内容,不能修改密码或管理 Key(这些接口只接受会话或入门密码)。

三、接口一览

方法路径说明鉴权
POST/api/snippets创建内容(可带自定义 id)需要
GET/api/snippets?limit=100内容列表(元数据)需要
GET/api/snippets/ID读取单条完整内容公开
PUT/PATCH/api/snippets/ID更新 title / language / content需要
DELETE/api/snippets/ID删除需要
POST/api/login / /api/logout获取 / 清除会话 Cookie
POST/api/password修改入门密码会话或密码
GET/api/keysAPI Key 列表会话或密码
POST/api/keys创建 API Key(name + expiresInDays会话或密码
DELETE/api/keys/ID吊销 API Key会话或密码
GET/api/status查看是否已初始化、当前请求是否已鉴权公开

四、内容增删改查示例

1)创建 —— 自定义中文 ID

curl -s -X POST "https://你的域名/api/snippets" \
  -H "Authorization: Bearer csk_xxxx_yyyy" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "笔记-01",
    "title": "Python 速查表",
    "language": "md",
    "content": "# 标题\n内容 **加粗**"
  }'

# 返回(201)
{
  "ok": true,
  "id": "笔记-01",
  "web": "/web/笔记-01",
  "raw": "/raw/笔记-01",
  "item": { "id": "笔记-01", "title": "Python 速查表", "language": "md", ... }
}

不传 id 则自动生成:{"title":"...","language":"text","content":"..."}

2)列表(需鉴权)

curl -s "https://你的域名/api/snippets?limit=50"   -H "Authorization: Bearer csk_xxxx_yyyy"

# 返回
{ "total": 2, "items": [ { "id": "笔记-01", "title": "...", "language": "md",
  "createdAt": 1727000000000, "updatedAt": 1727000000000 }, ... ] }

3)读取单条

curl -s "https://你的域名/api/snippets/笔记-01"

# 中文 ID 在 URL 中会被自动百分号编码,curl / 浏览器都会正确处理
curl -s "https://你的域名/api/snippets/%E7%AC%94%E8%AE%B0-01"

4)更新(字段均可选,只传要改的)

curl -s -X PUT "https://你的域名/api/snippets/笔记-01" \
  -H "Authorization: Bearer csk_xxxx_yyyy" \
  -H "Content-Type: application/json" \
  -d '{"title":"新标题","content":"更新后的正文"}'

5)删除

curl -s -X DELETE "https://你的域名/api/snippets/笔记-01" \
  -H "Authorization: Bearer csk_xxxx_yyyy"

# => {"ok":true,"deleted":"笔记-01"}

6)拿纯文本 / 网页链接

curl -s "https://你的域名/raw/笔记-01"        # text/plain 原文
curl -sO "https://你的域名/raw/笔记-01?dl=1"   # 下载为文件
# 网页分享地址:https://你的域名/web/笔记-01

五、API Key 管理示例

# 创建:有效期单位为天,0 = 永不过期
curl -s -X POST "https://你的域名/api/keys" \
  -H "Authorization: Bearer 你的入门密码" \
  -H "Content-Type: application/json" \
  -d '{"name":"CI 脚本","expiresInDays":90}'

# 返回(key 只显示这一次,请立即保存)
{ "ok": true, "id": "aB3x...", "key": "csk_aB3x..._z9Q...", "item": { ... } }

# 列出(只含前缀、时间等元数据,不含密钥)
curl -s "https://你的域名/api/keys" -H "Authorization: Bearer 你的入门密码"

# 吊销
curl -s -X DELETE "https://你的域名/api/keys/aB3x..." \
  -H "Authorization: Bearer 你的入门密码"

也可以在网页后台「API 管理」标签页里完成创建、查看有效期与吊销。

六、错误码

状态码含义
400参数错误:内容为空、ID 不合法、有效期超出范围、请求体不是 JSON
401未鉴权 / 密码或 Key 错误 / Key 已过期或被吊销
403当前密码不正确、重复初始化、API Key 越权访问(改密码 / 管理 Key)
404内容或接口不存在、ID 不合法
409自定义 ID 已存在
413内容超过 100 万字符
405该路径不支持此 HTTP 方法
503尚未设置入门密码(先访问 /setup

七、注意事项