CCraft-API

之前写了一个API站点,来讲讲如何调用吧(感觉应该没人会看
所有POST数据均使用x-www-form-urlencoded传输,别问为什么不用JSON(

登录


我感觉我的登录API有严重的安全隐患(

对接ClearCraft的登录需要访问:
POST: https://api.clearcraft.cn/login
并携带POST数据usernamepassword,因为我不会在PHP读JSON请求所以请使用x-www-form-urlencoded(
假设playername是用户名称,password是用户密码

1
curl -X POST -D "username:${playername}&password:${password}" https://api.clearcraft.cn/login

如果一切正常,返回的JSON数据应该是:

1
2
3
4
5
6
{
"status": "success",
"message": "Login successful",
"token": "{Token}",
"expiration_time": "{Token过期时间}"
}

刷新Token


刷新和其他调用的方法基本相同,在Header中包含Token数据来刷新Token(和登录一样也会刷新Token,但是这个不用用户输入密码
请求
POST: https://api.clearcraft.cn/refresh
假设token是用户登录后获得的token

1
curl -X POST -H "Authorization: Bearer ${token}" https://api.clearcraft.cn/refresh

如果一切正常,返回的应该是:

1
2
3
4
5
6
{
"status": "success",
"message": "Token刷新成功",
"token": "{刷新后的Token}",
"expiration_time": "{刷新后的更新时间}"
}

获取用户信息


在Header中包含Token数据来请求用户的信息
GET: https://api.clearcraft.cn/user
假设token是用户登录后获得的token

1
curl -X GET -H "Authorization: Bearer ${token}" https://api.clearcraft.cn/user

如果一切正常,会返回用户的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"status": "success",
"message": "用户数据查询成功",
"data": [{
"player_uuid": "{玩家uuid}",
"username": "{玩家名称}",
"nickname": "{玩家昵称}",
"permission": "{玩家权限 -1为封禁,0为用户,1为管理员,2为超级管理员}",
"Balance": "{玩家金币数}",
"LastLoginTime": "{上次登录时间}",
"LastLogoffTime": "{上次离线时间}",
"TotalPlayTime": "{总计游玩时间}",
"skin_url": "{皮肤链接}",
"client_id": "{客户端ID}"
}]
}

验证Token


在Header中包含Token数据来验证用户的Token是否可用
GET: https://api.clearcraft.cn/verify
假设token是用户登录后获得的token

1
curl -X GET -H "Authorization: Bearer ${token}" https://api.clearcraft.cn/verify

获得返回后应该检查status返回
返回结构大概是:

1
2
3
4
{
"status": "状态信息",
"message": "人类可读的详细信息"
}
status内容 含义
error 需要重新登录
warning 需要刷新Token
success Token有效

礼包码

使用Post在header中包含Token数据并在POST信息内包含礼包码信息:
POST: https://api.clearcraft.cn/giftcode
假设Token是用户登录后获得的Token,Code是礼包码

1
curl -X POST -H "Authorization: Bearer ${token}" -D "code=${code}" https://api.clearcraft.cn/giftcode

如果一切正常并且兑换成功,返回应该是

1
2
3
4
5
6
7
8
9
10
11
12
{
"status": "success",
"message": "礼包领取成功",
"data": [{
"name": "礼包名称",
"money": "获得的金币",
"commands": [
"执行的命令1",
"执行的命令2"
]
}]
}

你好(

说实话我忘记我有这个站点了(
今天看到Rain腐竹的Blog站点想起了我也有个人博客(
还好还好,如果不出我所料的话,我会在这里发一些日常以及我的某些奇妙の经历
订阅我获得我的最新更新! (虽然谷歌好像要翻墙)
喜欢我请V我50祝我重正华夏(不是

你好! 陌生人

欢迎来到我的个人博客! 我是 霁雾_ClearCraft,一名16岁高中生,喜欢捣鼓一些新鲜玩意。
我运营着一个Minecraft服务器,如果感兴趣,也可以来看看 我的服务器

在此之外.. 我也会许多其它的东西:

  1. 擅长使用PHP制作网页
  2. 会那么一点点的Java语言
  3. 视频剪辑 (?)

在此看来.. 我的学习提升空间还是很高的嘛 哈哈..
随时欢迎你来找我玩! 喜欢我的话..不妨请我喝一杯奶茶呢? (嘿嘿)