« EFTのextract_after_hook後の日本語 | メイン | Plagger::Plugin::Publish::FC2 / ver0.01 »

Perlでfc2ブログに投稿する

ちょっと実験がしたくてなんかたくさんの人が使っているらしいfc2ブログを使ってみてます。 MovableTypeで使われているXML-RPCが実装されてらしくて、Perlからは以下のコードでポストできました。 最初Net::MovableTypeを使ってみたけど、文字化けた。

#!/usr/bin/perl
use strict;
use warnings;
use RPC::XML::Client;

my $client = RPC::XML::Client->new('http://blog.fc2.com/xmlrpc.php');
my $blogid = 'blogid';
my $userid = 'mail@address';
my $password = 'password';

my $req = RPC::XML::request->new(
  'metaWeblog.newPost',
  RPC::XML::string->new($blogid),
  RPC::XML::string->new($userid),
  RPC::XML::string->new($password),
  RPC::XML::struct->new(
    'title' => RPC::XML::string->new("タイトル"),
    'description' => 
    RPC::XML::string->new("本文です。"),
    'mt_convert_breaks' => RPC::XML::string->new("0"),
    ),
  RPC::XML::boolean->new('true'),
  );
my $res = $client->send_request($req);
my $new_id;
if( $res->is_fault ){
  print $res->value->{faultString} . "¥n";
}else{
  $new_id = $res->value;
}

$req = RPC::XML::request->new(
  'mt.setPostCategories',
  RPC::XML::string->new($new_id),
  RPC::XML::string->new($userid),
  RPC::XML::string->new($password),
  RPC::XML::array->new(
    RPC::XML::struct->new(
      'categoryId' => RPC::XML::string->new('1'),
      )
    ),
  );
$res = $client->send_request($req);
if( $res->is_fault ){
  print $res->value->{faultString} . "¥n";
}

トラックバック

このエントリーのトラックバックURL:
http://yusukebe.com/mt/mt-tb.cgi/2121

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


ブログSEO対策:track word seo