JavaでXML-RPCを使ってブログに投稿
metaWeblog.newPostメソッドを使って投稿出来るものを書いてみた。
apacheのxmlrpcライブラリを使ってる。
import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; import org.apache.xmlrpc.XmlRpcException; import java.net.URL; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; public class ItemPublisher { public static void main(String[] args) { XmlRpcClient client = null; ArrayList<Object> params = new ArrayList<Object>(); String api = "metaWeblog.newPost"; String url = "http://abcd.com/XMLRPC/"; try { XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL(url)); client = new XmlRpcClient(); client.setConfig(config); } catch( MalformedURLException e ) { System.out.println( "illegal URL: " + url + " " + e ); } HashMap<String,Object> struct = new HashMap<String,Object>(); struct.put( "title", "TEST2" ); //struct.put( "categories", "test" ); struct.put( "description", "こんにちわ、世界。" ); struct.put( "dateCreated", new Date() ); /* List に与えたいデータをAPI定義の順番に追加する */ params.add("0");//blogid params.add("user");//username params.add("pass");//password params.add(struct);//content params.add("1");//publish try { Object o = client.execute( api, params ); System.out.println( "result: " + o.toString() ); } catch( XmlRpcException e ) { System.out.println( "XML-RPC ERROR at execute " + e ); } } }
URLとかの設定内容をきちんとやればどこでも動くはず。たぶん。