开放题库接口
题库 API
面向其他站点的只读接口。公开请求永远不返回答案。
公开接口
GET /api/v1/meta:题库版本、题量及分类统计。
GET /api/v1/questions:分页取得题目。可选参数:bank(one-star 一星题库、two-star 二星题库)、type(judgement 或 single-choice)、q、limit(最大 200)、offset、random=true。含图题会返回 imageUrl。
GET /api/v1/questions/{id}:读取一道题,例如 one-star:42。原二星题目的 ID 保持不变。
接口允许跨域 GET,因此浏览器端也可以直接调用。
示例
fetch('/api/v1/questions?type=judgement&random=true&limit=10')
.then((response) => response.json())
.then(({ questions }) => console.log(questions));
答案接口
在上述题目接口添加 includeAnswers=true,并以 Authorization: Bearer <题库 API 令牌> 传递令牌,即可取得正确答案。令牌只应保存于调用站点的服务端环境变量,不能放在浏览器代码中。