转载

WordPress java操作库

前段时间有些需求就撸了个wordpress java操作库,主要是依赖wordpress XMLRPC实现。简单介绍下使用方式。

引入dependency:

        <dependency>
            <groupId>org.chobit.wp</groupId>
            <artifactId>wordpress-client</artifactId>
            <version>0.1.4</version>
        </dependency>

WordPress实例是所有操作的基础。简单的WordPress实例创建方式如下:

    WordPress wp = new WordPress(XML_RPC_URL, USERNAME, PASSWORD);
  • xmlRpcUrl:xmlRpc服务端地址,WordPress博客的地址通常为博客地址 + xmlrpc.php,如: http://www.zhyea.com/xmlrpc.php
  • username和password:登录WordPress博客后台使用的用户名和密码

也可以通过WPConfig(即WordPress配置对象)来更精细化地创建WordPress实例。WPConfig实例构建方式如下:

        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实例:

        WordPress wp = new WordPress(config);

新增文章可以使用WordPress实例的newPost()方法,示例代码如下:

        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的文档 好了。

#########

原文  http://www.zhyea.com/2019/01/13/wordpress-java-lib.html
正文到此结束
Loading...