2009年3月8日日曜日

JavaScriptからWordPressへコメントを投稿する方法

JavaScript から WordPress へコメントを投稿する方法をメモしておきます.
  • XML-RPC には,JavaScript のライブラリである Mimic を使用
  • コメントの投稿には,WordPress独自のAPIである wp.newComment を使用
  • wp.newComment のパラメータは,ブログID,ユーザ名,パスワード,エントリID,コメントに関する情報(配列ではなく,オブジェクト)

コードで記すと以下のようになります.

var comment = new Object();
comment.content = "コメント";
var request = new XmlRpcRequest(url, 'wp.newComment');
request.addParam("ブログID");
request.addParam("ユーザ名");
request.addParam("パスワード");
request.addParam("エントリID");
request.addParam(comment);
var response = request.send();


[1] Mimic
http://mimic-xmlrpc.sourceforge.net/
[2] wp.newComment
http://codex.wordpress.org/XML-RPC_wp#wp.newComment

2009年3月4日水曜日

[続]XML-RPCでのWordPressへの投稿に問題があるみたい

XML-RPCでのWordPressへの投稿に問題があった件の続きです.

この問題は,PHPが使っている libxml2 ライブラリの不具合に起因するようなのですが,バージョン2.7.3では,それが解消されているそうです[1].

そこで,Fedora の libxml2 のバージョンを調べてみると,2.7.3でした.それでも問題は起こっているので,今度は PHP が使っている libxml2 のバージョンを調べてみました(phpinfo()で).そうすると,その時点の PHP では2.7.1の libxml2 を使っていることがわかりました.

そういうわけで,PHP を自前でコンパイルして,インストールしてみました.結果はグッドです.ネットの情報の通り,2.7.3の libxml2 を使うと,問題が解消しました.よかった.

ちなみに,B2Evolutionというブログソフトウェアもインストールしてみたのですが,これはPHPで実装されているので,WordPressと同様の結果になりました(XML-RPCで正しく投稿できませんでした.PHPが悪いので当然なんですけど.後で気づきました).

[1] PHP と libxml2 の関係
http://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg03301.html