Scratch3技术分析之User API(第4篇)
文章目录
我们关心以下User API:
- 注册
- 登陆
- 验证邮件
- 用户消息
注册
|
|
第1步
GET https://scratch.mit.edu/accounts/check_username/api_test2/
返回: [{"username": "api_test2", "msg": "valid username"}]
第2步
没有数据交互
第3步
接收来自 Scratch 团队的更新通知
可勾选。
|
|
返回[{"msg": "valid email", "email": "wuwenjie718@gmail.com"}]
第4步
POST https://scratch.mit.edu/accounts/register_new_user/
以Form Data提交
|
|
其中csrfmiddlewaretoken是通过GET https://scratch.mit.edu/csrf_token/
请求得到(set-cookie)
验证邮件
邮件验证链接为:
https://scratch.mit.edu/accounts/email_verify/WzQwNDQ2ODAxLCJ3dXdlbmppZTcxOEBnbWFpbC5jb20iLHRydWVd:1gjHzZ:N5Rkcd9rnux1qFAVQtExCFV06gw/?isRegistration=true
验证完成之后:
Scratch的易用性做得非常好。整个产品逻辑很清晰。点击ok,let's go
则进入https://scratch.mit.edu/
社区。
验证完邮件后,我们还会收到一封邮件:
登陆
POST https://scratch.mit.edu/accounts/login/
请求的json数据为:{"username":"api_test2","password":"api_test2llk","useMessages":true}
后端返回: [{"username": "api_test2", "num_tries": 1, "success": 1, "msg": "", "messages": [], "id": 40446801}]
登陆之后会立刻请求GET https://scratch.mit.edu/session/
返回:
|
|
这里包含了更为全面的用户画像信息。
如果登陆失败,则返回403错误:
[{"username": "api_test2", "num_tries": 1, "success": 0, "msg": "\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef\u3002", "messages": [], "id": null}]
用户消息
Scratch的新用户引导是做得非常好的。
欢迎来到Scratch!
标签栏给出了新用户入门引导链接。
新用户会收到一条消息:GET https://api.scratch.mit.edu/users/api_test2/messages/count
后台返回: {"count":1}
消息接口目前是定时轮询。
消息详情
GET https://api.scratch.mit.edu/users/api_test2/messages?limit=40&offset=0
后台返回:
|
|
目前我们的消息还很少,不好分析,之后我们再来专门分析这部分。
用户相关的其他API
由于个人中心之类的页面,Scratch团队还没有迁移到新版的前端中,所以我们暂不分析。为了追求接口稳定性,我们待官方完成这部分工作后,再做分析。
文章作者 种瓜
上次更新 2019-01-15