Libra 红名单 WebAPI v2 文档
大约 3 分钟
众所周知,因为一些内部开发人员对于使用 Python 有争议,最后协商选择使用 NodeJS 重新编写,同时和维护团队与阿尔法营的守护者老师深度讨论之后重新制定了第二个 WebAPI 版本。
该文档的内容以通过审核,现已可用。
注:旧版本的 API 仍然会保留,但是不建议继续使用,请尽快将请求链接转移至 v2! 旧版 v1 API 链接
API 文档
所有链接均使用 https://www.scpo.top:1120/v2
为链接,调用方法为 POST
。表单数据均为 JSON,FormData 或 URIEncodedForm。
所有表单以 method
确定调用功能类型和返回值,总共有以下值可以选择:
isInList
获取一个用户是否在红名单内getList
获取以 JSON 数组为格式的在红名单内的所有用户名单getImportableList
获取以 Scratch 链表文本为格式的在红名单内的所有用户名单
以下为对应功能的参数集:
isInList
参数名称 | 默认值 | 可选值 | 说明 |
---|---|---|---|
platform | kada,acamp | 社区平台,如不填则为所有平台 | |
format | username | username,id | 输入的名称类型,是用户名还是用户ID编号 |
value | 需要检测的用户名或用户ID |
返回值:
参数名称 | 类型 | 说明 |
---|---|---|
message | string | 返回 success 即成功,否则返回错误原因 |
status | boolean | 返回用户状态,如果为 true 则在红名单内,false 反之亦然 |
reason | string/null | 如果 status 为 true 时这里是被登记入红名单的原因,否则为 null |
getList
参数名称 | 默认值 | 可选值 | 说明 |
---|---|---|---|
platform | kada,acamp | 社区平台,如不填则为所有平台 |
返回值:
参数名称 | 类型 | 说明 |
---|---|---|
message | string | 返回 success 即成功,否则返回错误原因 |
list | 见下表 | 在红名单内的所有用户名单 |
数组成员类型结构:
成员名称 | 类型 | 说明 |
---|---|---|
name | string | 用户的名称 |
reason | string | 用户被登记入红名单的原因 |
getImportableList
参数名称 | 默认值 | 可选值 | 说明 |
---|---|---|---|
platform | kada,acamp | 社区平台,如不填则为所有平台 | |
type | username | username,id,reason | 返回用户名称还是用户ID |
返回值:一个以 Scratch 链表文本为格式的在红名单内的所有用户名单,可以直接导入到 Scratch 的链表变量中。
使用范例
isInList
客户端:
POST /v2 HTTP/1.1
HOST: redlist.zerlight.top:1100
Content-Type: application/json
{
"method": "isInList",
"format": "username",
"platform": "acamp",
"value": "Zerdot"
}
服务端:
HTTP/1.1 200 OK
Content-Type: application/json
{
"message": "success",
"status": true,
"reason": "此为示例用户,当你看到这个永久名单,说明你的请求有问题或者你本来就是要测试才调用这个的,请更正你的请求数据后重试"
}
getList
客户端:
POST /v2 HTTP/1.1
HOST: redlist.zerlight.top:1100
Content-Type: application/json
{
"method": "getList",
"platform": "acamp"
}
服务端(因列表数据太多所以只列举一个):
HTTP/1.1 200 OK
Content-Type: application/json
{
"message": "success",
"list": [{
"name": "Zerdot",
"reason": "此为示例用户,当你看到这个永久名单,说明你的请求有问题或者你本来就是要测试才调用这个的,请更正你的请求数据后重试"
}]
}
getImportableList
客户端:
POST /v2 HTTP/1.1
HOST: redlist.zerlight.top:1100
Content-Type: application/json
{
"method": "getImportableList",
"platform": "acamp",
"type": "username"
}
服务端:
HTTP/1.1 200 OK
Content-Type: text/plain
Umberto Unity
Carla Caring
Katie Kindness
Fred Friendship