XML-RPCを介してブログとLivejournalを接続する

XMLリモートプロシージャコールは実際には非常に単純なプロシージャであり、これによりブログに書き込み、livejournalの記事をコピーできます。 見た目では、おそらく最も簡単な解決策は、ブラウザーによってデータがLJサーバーに転送されるプロセスを作成することです。 別のiframeを作成し、その中にフォームを配置して別のフォームからコンテンツをコピーし、最終的にLJに公開するだけで十分です。 しかし、そもそもそれは見苦しく、2つめはそのように考案できるという事実ではなく、xml-rpcを介してすべてのデータを転送する方がはるかに簡単で便利です。 これを行うには、完成したライブラリをインストールし、関数..を使用します。



function post2livejournal($subject,$event,$time=0) {

require_once('lib/xmlrpc.inc');

$lj_userid='my_livejournal_username';

$lj_passwd='my_secret_password';



if (!$time)$time=time();

$year=date('Y',$time);

$month=date('m',$time);

$day=date('d',$time);

$hour=date('H',$time);

$minute=date('i',$time);



$client=new xmlrpc_client("/interface/xmlrpc", "www.livejournal.com", 80);



$params = new xmlrpcval( array(

'username' => new xmlrpcval($lj_userid,'string'),

'password' => new xmlrpcval($lj_passwd,'string'),

'ver' => new xmlrpcval('1','string'),

'lineendings' => new xmlrpcval('pc','string'),

'event' => new xmlrpcval($event,'string'),

'subject' => new xmlrpcval($subject,'string'),

'year' => new xmlrpcval($year,'int'),

'mon' => new xmlrpcval($month,'int'),

'day' => new xmlrpcval($day,'int'),

'hour' => new xmlrpcval($hour,'int'),

'min' => new xmlrpcval($minute,'int')),'struct'

);



$msg = new xmlrpcmsg('LJ.XMLRPC.postevent');

$msg->addparam($params);

$client->setDebug(0);

$result = $client->send($msg);

}











そして、それは次のようなエラーは表示されません

リクエストのデシリアライゼーション中にアプリケーションが失敗し、ライブラリのエンコーディングを確認しました-utfをisoとして送信しようとしている可能性があります。





...では、なぜhabrahabrにXML-RPCがないのですか?



All Articles