日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

wp java_Java WordPress工具库wp-client

發布時間:2024/9/19 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wp java_Java WordPress工具库wp-client 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

WordPress Client是一個Java版的WordPress客戶端操作庫, 主要基于WordPress XML-RPC API實現。目前WordPress Client提供了如下能力: 獲取WordPress用戶信息

獲取博客文章信息

發布文章到WordPress部署的博客

對已發布的文章進行編輯、刪除等操作

使用

添加依賴

只需要在maven工程中的pom文件中添加如下依賴就可以使用wp-client:

org.chobit.wp

wordpress-client

x.x.x

目前wp-client的版本是0.1.3。請盡量使用最新版本。

創建WordPress操作實例

WordPress實例是所有操作的基礎。要創建WordPress實例我們需要先創建一個WPConfig實例,即WordPress配置對象。WPConfig實例構建方式如下:

WPConfig config =

new WPConfigBuilder().xmlRpcUrl(XML_RPC_URL)

.username(USERNAME)

.password(PASSWORD)

.trustAll(true)

.build();

不建議也不允許直接構建WPConfig實例,正確的方式是通過WPConfigBuilder來完成構建。構建中的幾個重要參數如下:

xmlRpcUrl:xmlRpc服務端地址,WordPress博客的地址通常為博客地址 + xmlrpc.php,如我的博客:http://www.zhyea.com/xmlrpc.php

username和password:登錄WordPress博客后臺使用的用戶名和密碼

trustAll:如博客未啟用https,可忽略;如已啟用https,建議將之設置為true,否則需要導入證書文件后再進行操作

使用WPConfig實例來創建WordPress實例:

WordPress wp = new WordPress(config);

在WordPress類中封裝了與WordPress進行交互的各種方法。接下來會逐個詳細介紹下。

獲取作者信息

在WordPress中提供了getUserBlogs和getAuthors兩個方法來獲取作者信息。

使用getUsersBlogs()方法可以獲取非常簡單的用戶和博客信息:

List list = wp.getUsersBlogs();

返回值如下:

[

{

"blogName": "ZY筆記",

"url": "http://www.zhyea.com/",

"admin": false,

"blogid": 1,

"xmlrpc": "http://www.zhyea.com/xmlrpc.php"

}

]

(為了便于查看,故用json包裝了下返回結果)

getAuthors()方法返回的是用戶相關的信息:

List list = wp.getAuthors();

返回值如下:

[

{

"user_id": 1,

"user_login": "zhyea",

"display_name": "白42"

},

{

"user_id": 2,

"user_login": "robin",

"display_name": "robin"

}

]

新增文章

新增文章可以使用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設置的是文章標簽,同樣的,如標簽在博客中不存在將會創建新的標簽。

獲取文章

獲取文章有兩個方法:getPosts和getPost。前者用于獲取多篇文章,后者用于根據postId來獲取文章。

getPosts

getPosts方法如下:

List getPosts(PostFilter filter, String... fields)

參數filter決定返回結果的數量、排序字段和排序方式等信息。

變長參數fields則決定了返回結果中包含哪些字段。如果要返回全部字段,可以不填。使用空字符串或其他非法字段則只返回postId。可用fields值請參考XML-RPC WordPress API/Posts - getPost。

示例代碼如下:

PostFilter f = new PostFilter();

f.setNumber(2);

List list = wp.getPosts(f,"post_title");

返回結果為:

[

{

"post_id": 2174,

"post_title": "sbt下載加速方案"

},

{

"post_id": 2170,

"post_title": "Java 中文字符按Unicode排序"

}

]

再次啰嗦下,正常的返回結果是一個Post實例集合,不是json字符串,這里使用json字符串只是為了便于展示。如需要獲取json結果集可以自行將結果集轉為json,也可以調用wp-client提供的JsonKit.toJson()進行處理。

getPost

getPost方法如下:

Post getPost(int postId, String... fields)

通過postId獲取對應文章的信息。變長參數fields的使用請參考getPosts方法。

編輯文章

編輯文章調用editPost()方法。

PostRequest post = new PostRequest();

post.setPostTitle("測試編輯" + System.currentTimeMillis());

post.setPostContent("這是一段編輯后的測試內容:" + System.currentTimeMillis());

boolean result = wp.editPost(29, post);

編輯文章時需要通過PostRequest實例完成。

注意,只需要為要修改的PostRequest屬性賦值,不需修改的屬性保留默認值即可。

刪除文章

刪除文章通過調用deletePost方法并傳遞postId來完成。

int postId = 26;

boolean result = wp.deletePost(postId);

總結

以上是生活随笔為你收集整理的wp java_Java WordPress工具库wp-client的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。