前段时间有些需求就撸了个wordpress java操作库,主要是依赖wordpress XMLRPC实现。简单介绍下使用方式。
引入dependency:
1 2 3 4 5 |
<dependency> <groupId>org.chobit.wp</groupId> <artifactId>wordpress-client</artifactId> <version>0.1.4</version> </dependency> |
WordPress实例是所有操作的基础。简单的WordPress实例创建方式如下:
1 |
WordPress wp = new WordPress(XML_RPC_URL, USERNAME, PASSWORD); |
- xmlRpcUrl:xmlRpc服务端地址,WordPress博客的地址通常为博客地址 + xmlrpc.php,如:https://www.zhyea.com/xmlrpc.php
- username和password:登录WordPress博客后台使用的用户名和密码
也可以通过WPConfig(即WordPress配置对象)来更精细化地创建WordPress实例。WPConfig实例构建方式如下:
1 2 3 4 5 6 7 8 9 |
WPConfig config = new WPConfigBuilder() .username(USERNAME) .password(PASSWORD) .xmlRpcUrl(XML_RPC_URL) .trustAll(true) .connectTimeout(3 * 60 * 1000) .readTimeout(3 * 60 * 1000) .build(); |
构建中的几个参数如下:
- trustAll:如博客未启用https,可忽略;如已启用https,建议将之设置为true,否则需要导入证书文件后再进行操作;
- connectTimeout:连接超时时间,单位ms;
- readTimeout:响应超时时间,单位ms。
使用WPConfig实例来创建WordPress实例:
1 |
WordPress wp = new WordPress(config); |
新增文章可以使用WordPress实例的newPost()方法,示例代码如下:
1 2 3 4 5 6 7 |
PostRequest post = new PostRequest(); post.setPostTitle("测试Title"); post.setPostContent("这是一段测试文章内容"); post.setCategories("分类1","分类2"); post.setTags("a", "b", "c"); post.setPostName("test-post-name"); int postId = wp.newPost(post); |
该方法的返回结果为postId,即文章ID。
关于postName和postTitle:postTitle指的是文章标题;postName指的则是文章别名,主要在文章的url路径中使用;通常建议将postName设置为英文字符。
setCategories设置的是文章分类,如设置的分类在博客中不存在,将会按提交的分类名称创建新的分类。
setTags设置的是文章标签,同样的,如标签在博客中不存在将会创建新的标签。
我只用到了写入文章的能力,所以就写这些好了。更多用法参考wp-client的文档好了。
#########
图片怎么上传?这个只是单纯的文章写表吧
只是写文章。没用到图片上传之类的功能,所以也没开发。您可以顺着这里提供的方向自行开发。