#navi(../)
*WikiRpc [#44Q11Qa]
WikiRpcとはWikiサイト向けのXMLRPCインターフェイスです。このインターフェースを用いて、Wikiデーターを取得したり、編集したりすることができます。なお、PukiWiki Adv.ではバージョン2を部分的にサポートしています。

#contents

参考:
-http://www.hyuki.com/yukiwiki/wiki.cgi?WikiRPC
-http://www.ecyrd.com/JSPWiki/wiki/WikiRPCInterface2
-http://trac-hacks.org/wiki/XmlRpcPlugin
-https://www.dokuwiki.org/devel:xmlrpc

**wiki.getRPCVersionSupported [#LXZ52ya]
サポートしているWikiRpcのバージョン
***パラメータ [#dXT2XEm]
なし
***返り値 [#t9VbxYF]
2
**wiki.aclCheck [#nK46g5t]
ページの権限
***パラメータ [#jLFut0F]
ページ名
***返り値 [#lO9rbOv]
詠込み可能時は1。それ以外は0

**wiki.getPage [#ow0jtZz]
ページの生のテキストを返す
***パラメータ [#dauLfwr]
ページ名
***返り値 [#g0rbR0V]
Wikiの生のテキスト

**wiki.getPageVersion [#mmIdC3V]
ページのバックアップ情報を取得
**wiki.getPageInfo [#eICird4]
**wiki.getPageHTML [#aSlrtBQ]
**wiki.getPageHTMLVersion [#z5LqDr8]
**wiki.putPage [#14sdbFl]
**wiki.listLinks [#ceFjRsv]
**wiki.getAllPages [#7AXGoN9]
**wiki.getBackLinks [#tbhR1Wp]
**wiki.getRecentChanges [#n05Czmt]

*使用例 [#HwanaNz]
**PHPでWikiのデーターを取得する [#86YFBnM]
まず、[[XML-RPC for PHP>http://phpxmlrpc.sourceforge.net/]]をダウンロードしてこの例のルートディレクトリに設置してください。

このサンプルは、Wikiのパース処理を別のサーバーで行い、簡単に負荷分散したい時などに役立つでしょう。
#sh(php){{
<?php
include('lib/xmlrpc.inc');  // XML-RPC for PHPライブラリへのパスを入れてください。
 
// インスタンスを生成
$c = new xmlrpc_client('http://<pukiwikiのアドレス>/?cmd=xmlrpc');
 
// デバッグを有効にする
$c->setDebug(1);
 
// XMLメッセージを作成する
$m = new xmlrpcmsg('wiki.getPage',array(new xmlrpcval('取得したいページ名', 'string')));
 
// send the message and wait for response
$r = $c->send($m);
if($r == false) die('error');
if(!$r->faultCode()){
    // 成功時
    $v = php_xmlrpc_decode($r->value());
    echo "$v";
}
}}

**jQueryでページのHTMLを取得する [#99aMhcH]
#sh(js){{
var xml='<?xml version="1.0"?><methodCall><methodName>wiki.getPageHTML</methodName><params><string>取得したいページ</string></params></methodCall>';
 $.ajax({
   url: "http://<pukiwikiを設置しているアドレス>/",
   data: xml,
   param:{cmd:'xmlrpc'},
   contentType:"text/xml",
   type:'post',
   success:function(data){
     console.log(data);
   }
 });
}}

**C#で書かれたサンプル [#ONefdXi]
https://github.com/logue/WikiBrowser

WikiのXMLRPCのアドレスを入力すると、ページ一覧が取得され、そこをクリックするとWikiのソースを見ることができるコードのサンプルです。PukiWiki Adv.用に作ったものではないので、docwikiやtracなどでも使用可能です。

*コメント [#a3OotlK]
#comment