多数的博客系统都是使用WordPress搭建的,而作为博客系统,可能我们需要在站外调用博客的文章,请求这个API接口,可以获取最新文章列表,一般通常的做法是新建一个PHP文件,接收几个参数,查询数据库,用JSON格式返回数据就行了。
WordPress的插件是非常强大的,几乎能完成我们需要的所有工作,有一款插件叫JSON API,就能将WordPress做API接口,在站外调用博客的文章列表。
一款叫JSON API的WordPress插件正是我要的功能,并且更全面,它可以返回最新文章,类别,作者,文章详情,就是在WordPress中几乎所有的内容都可以通过它来获取JSON格式的数据,它甚至可以通过传递json数据实现文章评论、用户注册。
有了这样一款插件,关键是有了这样一个API接口,可以不用费劲自己写API了,但是可以用来做什么呢?
比如我想做个微信公共帐号,用户输入1,返回最新文章列表,根据用户输入返回不同的内容,这就要请求API地址返回JSON格式的数据。
插件安装地址:http://wordpress.org/plugins/json-api/
安装好后,使用方法如下(本文只介绍几个常见的,其他的请参考插件说明文档):
隐式调用
- http://www.example.org/?json=1(返回该站全部json格式数据)
- http://www.example.org/?p=47&json=1(返回文章id为47的json数据)
- http://www.example.org/tag/banana/?json=1(返回标签是banana的json数据)
显示调用
- http://www.example.org/?json=get_recent_posts(返回最新文章json数据,默认返回很多字段,可以指定)
- http://www.example.org/?json=get_post&post_id=47(返回id为47的文章json数据)
- http://www.example.org/?json=get_tag_posts&tag_slug=banana(返回tag标签是banana的json数据)
链接友好型调用
- http://www.example.org/api/get_recent_posts/
- http://www.example.org/api/get_post/?post_id=47
- http://www.example.org/api/get_tag_posts/?tag_slug=banana
API返回的json数据如下:
{"id":1, "slug":"hell-world", "url":"http://localhost/wordpress/?p=1", "title":"Hello world", "title_plain":"Hello world!", "content":"<p>Welcome to wordpress. this is your first post", "date":"2015-06-12 12:25:36", "modified":"2015-06-12 12:25:36", "categories":[], "tags":[] }
可以看到,返回的内容太多了,也许我们只要最新列表中的标题和链接就够了。
http://www.example.org/api/get_recent_posts/?callback=show_posts_widget&read_more=More&count=3
有很多参数可以选,比如count为返回的文章数目,参考官方文档吧。
0则评论给“JSON API强大的WordPress做API接口插件”