本文又名:如果这样你都看不懂那就基本可以告别ZB开发了。
本文只讨论API最基础的使用方式,大约是小学一年级水平,你如果非要问二年级的,恕在下无能为力,因为寒假结束我才一年级下学期。
然后,这可能是全网第一篇写ZBP1.7API用法的文章。
ZBlogphp1.7已经公测多日,本博也在第一时间加入了测试版敢死队。
相对于以往版本,zblogphp1.7的一个重大功能就是增加了API。
为了开发者能快速上手api,zb官方也提供了相关开发文档。
但是对于部分人来说,这个开发文档可能不是太好懂。
老李幼儿园时期的博士后导师曾经说过,要想快速掌握一门手艺,死读书是木用的,只有在实践中才能学会。
本文就站在“用”的角度上讨论一下这个API该怎么用。
既然是要“用”,那么就需要问一下自己:我打算用API实现什么?
把需求列出来:
1.用API输出ID为7的分类下的文章
2.每页输出12篇,输出第一页
3.按照修改时间降序
带着这些需求,开始查阅zblogapi文档。
看到了:URL通用格式
https://example.com/zb_system/api.php?mod=<模块名>[&act=<行为名>][&其他...]
一头雾水?没关系,一点一点的拆解。
前面的网址部分当然没有疑问,现在从第一个参数开始:mod=<模块名>
继续查阅文档,发现了这个:
模块命名
模块 | 命名 |
---|---|
用户模块 | member |
文章模块(包括页面) | post |
应用模块(包括插件和主题) | app |
侧栏模块 | sidebar |
附件模块 | upload |
评论模块 | comment |
标签模块 | tag |
分类模块 | category |
系统模块 | system |
设置模块 | setting |
需求1是啥来着?
用API输出ID为7的分类下的文章!
既然是输出文章,当然是文章模块,于是mod=<模块名>变成了mod=post
继续看下面的参数:act=<行为名>
查阅文档,发现了这个:
member
act 方法 | 请求方式 | 参数 | 鉴权 | |
---|---|---|---|---|
login | POST | username, password;password建议使用 MD5 值; | ||
post | POST | Member定义字段 | 必须 | |
get | GET / POST | 用户 id | 必须 | |
delete | GET / POST | 用户 id | 必须 | |
list | GET / POST | level, status, | 必须 | |
get_auth | GET / POST | 必须 | 用于查看当前用户权限 |
因为需要输出的是文章列表,于是act=<行为名>变成了act=list
现在,输出文章列表已经定义完了,接着看下面的需求,输出12篇,输出第一页等等这些都有一个不明觉厉的名字:约束与过滤
查阅文档,发现了这个:
约束与过滤
参数 | 类型 | 示例值 | 说明 |
---|---|---|---|
perpage | int | 50 | 每页返回数量,未鉴权请求受最大值限制 |
page | int | 2 | 指定第几页 |
sortby | string | name | 排序依据,大小写敏感,具体见「排序依据表」 |
order | string | asc 或 desc | 排序顺序,asc:升序,desc:降序 |
mod | sortby |
---|---|
category | ID, Order, Count, Group |
comment | ID, PostTime |
member | ID, CreateTime, PostTime, UpdateTime, Articles, Pages, Comments, Uploads |
post | ID, CreateTime, PostTime, UpdateTime, CommNums, ViewNums |
tag | ID, Order, Count |
upload | ID, PostTime, DownNums |
还有这个:
post
act 方法 | 请求方式 | 参数 | 鉴权 |
---|---|---|---|
post | POST | Post定义字段 | 必须 |
get | GET / POST | 文章 id | 非公开文章需鉴权 |
delete | GET / POST | 文章 id | 必须 |
list | GET / POST | cate_id, tag_id, auth_id, type, date, manage | 未鉴权请求数量受限 |
现在,嗨起来:
输出ID为7的分类:cate_id=7
输出第一页:page=1
每页输出12篇:perpage=12
按修改时间排序:sortby=UpdateTime
降序:order=desc
好了,各部件都找到了,最激动人心的时刻来了,合体,变身!!!
https://example.com/zb_system/api.php?mod=post&act=list&cate_id=7&page=1&perpage=12&sortby=UpdateTime&order=desc
访问一下,奇迹就这样发生了。
如果你还要问我这个变身后的东西该怎么用,那就是下一篇水文了。