職場ではWordPressでブログを用意しているのだが,
やはりログインして書くのはめんどくさい。
そこで,XML::RPCを使ってオフラインで書いたのをアップロードできるように
スクリプトを書いてみた。
これで少しは職場ブログも更新頻度が上がるかな。
だいたいこんなコード。ぐぐるとPHPのコードは見つかるんだけど,
Perlのがなかなか見つからなかった。
use RPC::XML;
use RPC::XML::Client;
my ($host,$user,$pass,$blogid,$client);
sub register_bloginfo($$$)
{
local ($url,$userid,$password) = @_;
$host = $url;
get_blogid();
}
sub get_blogid()
{
foreach $v (@$result)
{
while(($a,$b) = each %$v)
{
}
}
return $blogid;
}
sub post($$$$$$$$$$)
{
# category と tag は配列のリファレンス
local ($title,$content,$year,$month,$day,$hour,$min,$sec,$category,$tag) = @_;
die "No blogid" if $blogid < 1;
sprintf("%04d%02d%02dT%02d:%02d:%02d", $year,$month,$day,$hour,$min,$sec));
'wp.newPost',
post_title => $title,
post_content => $content,
post_date_gmt => $date,
category => $categories,
post_tag => $tags
)
)
);
return 1;
}
1;