RubyでMovable TypeのXML-RPC APIを利用する
RubyからMovable Type(以下、MTと表記する)のXML-RPC APIを利用して、MTがサポートしているXML-RPCのメソッド一覧を取得してみたいと思います。
驚くほどシンプルに実現できます。まずは、なによりそのシンプルさを感じていただきたいと思います。
早速ですが、サンプルコードを示します。
--------------------------------------------- ここから
require 'xmlrpc/client'
uri = "(アクセスするMTのURL)/mt-xmlrpc.cgi"
# XMLRPC::Clientオブジェクトを生成する
client = XMLRPC::Client.new2( uri )
# XMLRPC::Client::Proxyを利用する
mt = client.proxy("mt")
begin
# 利用可能なメソッド一覧を取得する
result = mt.supportedMethods
p result
rescue XMLRPC::FaultException => e
# エラー処理を行う
puts "fault #{e.faultCode}: #{e.faultString}"
end
--------------------------------------------- ここまで
基本はこれだけです。
以下に実行結果を示します。
["blogger.newPost", "blogger.editPost", "blogger.getRecentPosts",
"blogger.getUersBlogs", "blogger.getUserInfo", "blogger.deletePost",
"metaWeblog.getPost", "etaWeblog.newPost", "metaWeblog.editPost",
"metaWeblog.getRecentPosts", "metaWeblog.newMediaObject",
"mt.getCategoryList", "mt.setPostCategories", "mt.getPostCategories",
"mt.getTrackbackPings", "mt.supportedTextFilters",
"mt.getRecentPostTitles", "mt.publishPost", "mt.getTagList"]
MTのXML-RPCで利用できるメソッド一覧を取得することができました。
利用可能なメソッド一覧を取得するところで呼んでいるメソッドを必要に応じて変更することで、
「新しいエントリーを投稿」したり、「エントリーを削除」したりすることができます。
メソッドの詳しい説明は、「Movable Type 3.2 マニュアル - プログラミングインターフェイス」をご覧ください。
(参考)
○標準添付ライブラリ紹介 【第 1 回】 XMLRPC4R
○XMLRPC