JavaからWordPressに記事を投稿する

以前、PHPからWordPressに投稿すると内容の記事を作成しました。
今回はJavaを使って、同じように通信してみたいと思います。

java01

早速ですが、必須ライブラリは以下からダウンロードできます。
公式サイトのリンクが切れていて大変苦労しました。

http://central.maven.org/maven2/org/apache/xmlrpc/xmlrpc-client/3.1.3/xmlrpc-client-3.1.3.jar
http://central.maven.org/maven2/org/apache/xmlrpc/xmlrpc-common/3.1.3/xmlrpc-common-3.1.3.jar
http://central.maven.org/maven2/org/apache/ws/commons/util/ws-commons-util/1.0.2/ws-commons-util-1.0.2.jar

プログラムはPHP版と同じように作成します。

package xmlrpc;
import java.net.URL;
import java.util.Hashtable;

import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

/**
 * WordPressに記事を登録
 * @author admin
 *
 */
public class XmlRpcTest {
	public static void main(String[] args) throws Exception {
	    try {
	         XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
	         config.setServerURL(new URL("http://black-kigyo.tk/xmlrpc.php"));

	         XmlRpcClient client = new XmlRpcClient();
	         client.setConfig(config);
	         Hashtable<Object,Object> hash = new Hashtable<Object,Object>();
	         hash.put("post_title", "Javaってる");// 記事のタイトル
	         hash.put("post_content", "Javaから投稿する");// 本文
	         hash.put("post_author", "1"); // 本文中の改行をbrタグで反映
	         hash.put("post_status", "publish"); // コメントを受け付けるか

	         Object[] params = new Object[4];
	         params[0] = 1; // blogId
	         params[1] = "ユーザ名を指定してください";
	         params[2] = "パスワードを指定してください";
	         params[3] = hash;
	         Object result = client.execute("wp.newPost", params);

	         System.out.println("main::Post 記事番号:" + result + "です。");
	     } catch(Exception e) {
	        System.out.println("main::Post 記事投稿で失敗");
	        System.out.println(e.getMessage());
	     }
	}

}

まとめ

とても簡単に記事を投稿することができました。
これで、サイトを増やすときも、半自動的に記事を作成することができて、とても便利です。

システム開発

Posted by @erestage