1 <?xml version="1.0" encoding="UTF-8"?>
\r
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">
\r
6 Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
\r
7 Copyright (C) 2002-2009 The Nucleus Group
\r
9 This program is free software; you can redistribute it and/or
\r
10 modify it under the terms of the GNU General Public License
\r
11 as published by the Free Software Foundation; either version 2
\r
12 of the License, or (at your option) any later version.
\r
13 (see nucleus/documentation/index.html#license for more info)
\r
15 @license http://nucleuscms.org/license.txt GNU General Public License
\r
16 @copyright Copyright (C) 2002-2009 The Nucleus Group
\r
19 <!-- $NucleusJP: xmlrpc.html,v 1.6 2006/07/12 07:11:46 kimitake Exp $ -->
\r
20 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
21 <meta http-equiv="Content-Style-Type" content="text/css" />
\r
22 <meta http-equiv="Content-Script-Type" content="text/javascript" />
\r
23 <link rel="index" href="./index.html" />
\r
24 <title>Nucleus - XML-RPC インターフェイス</title>
\r
25 <link rel="stylesheet" type="text/css" href="styles/manual.css" />
\r
26 <style type="text/css">
\r
34 <script src="http://www.google.com/jsapi"></script>
\r
35 <script type="text/javascript">
\r
36 google.load("jquery", "1");
\r
37 google.setOnLoadCallback(function() {
\r
38 $.getScript("javascript/fontsizeChanger.js");
\r
43 <div id="fontSizeChanger">
\r
44 <a href="#top" id="f_small">小</a>
\r
45 <a href="#top" id="f_medium">中</a>
\r
46 <a href="#top" id="f_large">大</a>
\r
50 <div class="heading">
\r
57 <a href="index.html">開発者マニュアルに戻る</a>
\r
61 このドキュメントはNucleusが提供するXML-RPCインターフェイスと、生成される<a href="#errorcodes">エラーメッセージ</a>についての解説です。この仕様は将来変更される可能性があることに注意して下さい。
\r
65 NucleusにおけるXML-RPCインターフェイスのURLは以下のようになります:
\r
67 <strong>http://www.yourserver.com/yourpath/nucleus/xmlrpc/server.php</strong>
\r
70 <h1><a name="bloggerApi" id="bloggerApi">Blogger API (XML-RPC)</a></h1>
\r
73 Nucleusは<a href="http://www.blogger.com/developers/api/1_docs/">Blogger API</a>に対応しています。これはBloggerと通信するツールやサービスに対して、Nucleusとも通信できるようにするものです。Nucleusの仕様により、いくつかのパラメータに若干の違いがあります。これについては後述の説明を参照して下さい。呼び出しや応答のメソッドは、もちろん、Bloggerのものと同じ構造になっています。
\r
77 ここに挙げたリストは利用できるメソッドの一覧です。クリックするとさらに詳しい情報を得ることができます(それぞれのリンク先はBlogger APIの仕様書やその<a href="http://groups.yahoo.com/group/bloggerDev">メーリングリスト</a>です)。
\r
81 <li><strong><a href="http://www.blogger.com/developers/api/1_docs/xmlrpc_newPost.html">blogger.newPost</a></strong></li>
\r
82 <li><strong><a href="http://www.blogger.com/developers/api/1_docs/xmlrpc_editPost.html">blogger.editPost</a></strong></li>
\r
83 <li><strong><a href="http://groups.yahoo.com/group/bloggerDev/message/296">blogger.getPost</a></strong></li>
\r
84 <li><strong><a href="http://groups.yahoo.com/group/bloggerDev/message/147">blogger.deletePost</a></strong></li>
\r
85 <li><strong><a href="http://www.blogger.com/developers/api/1_docs/xmlrpc_getUsersBlogs.html">blogger.getUsersBlogs</a></strong></li>
\r
86 <li><strong><a href="http://groups.yahoo.com/group/bloggerDev/message/225">blogger.getRecentPosts</a></strong></li>
\r
87 <li><strong><a href="http://groups.yahoo.com/group/bloggerDev/message/315">blogger.getUserInfo</a></strong></li>
\r
88 <li><strong><a href="http://www.blogger.com/developers/api/1_docs/xmlrpc_getTemplate.html">blogger.getTemplate</a></strong></li>
\r
89 <li><strong><a href="http://www.blogger.com/developers/api/1_docs/xmlrpc_setTemplate.html">blogger.setTemplate</a></strong></li>
\r
94 Nucleusは内部的に異なる実装を用いているため、パラメータの扱いに若干の違いがあります。概説すると:
\r
98 <li>Appkeyは無視されます。</li>
\r
99 <li>Nucleusの場合は本文のあとにタイトルとカテゴリが続きます。Bloggerでは 'コンテンツ' と呼ばれるは本文だけが存在します。これらの追加されたパーツを利用可能にするため、<samp><title></samp>や<samp><category></samp>をNucleusに送るコンテンツに含めることができます。これらのタグは getRecentPosts の呼び出しでのみ追加されます。</li>
\r
100 <li>Bloggerで 'templates' と呼ばれているものに相当するのが、Nucleusの 'スキン' です。ひとつのシステムに複数のスキンを設定でき、それぞれのスキンをblogごとに使い分けることができます。メソッド blogger.setTemplate と blogger.getTemplate は、Nucleusのblog設定で選択されているblogのデフォルトスキンに影響します。'main' と 'archiveIndex' の二種類のテンプレートは、Nucleusの 'メインの目次ページ' と '月別アーカイブ一覧ページ' に相当します。(<em>訳注: Blogger の仕様がわからないので、この項不確か</em>)</li>
\r
101 <li>項目 <code>publish</code> は、追加した項目がデフォルトでドラフトになるか公開になるかを決める箇所です。<code>blogger.editPost</code> を使う場合は、<code>publish</code> がドラフトと公開のどちらになっていても無視されます。</li>
\r
102 <li><code>getUserInfo</code> を呼び出した場合、返値のうち 'lastname' は空になり、'firstname' にフルネームが入ります。これはNucleusが姓と名を分けない仕様になっていることに由来します。</li>
\r
103 <li>メソッド <code>getRecentPostst</code> は <code>authorName</code> と <code>title</code> を追加パラメータとして返します。Bloggerもまたこれらの値を返します(この仕様は文書化されていないようですが)。</li>
\r
106 <h1><a id="metaweblog" name="metaweblog">metaWeblog API</a></h1>
\r
109 Nucleus v1.1以降、<a href="http://www.xmlrpc.com/metaWeblogApi">metaWeblog API</a>もサポートされました。これはBlogger APIの拡張版です。
\r
112 <p>Nucleus v2.5では <code>newMediaObject</code> と <code>getRecentPosts</code> の二つのメソッドにも対応しました(これらは最初のmetaWeblog仕様には存在しませんでした)。</p>
\r
115 利用可能なメソッド一覧は以下の通りです(<a href="http://www.xmlrpc.com/metaWeblogApi">specification</a>に詳しい情報があります):
\r
119 <li>metaWeblog.newPost</li>
\r
120 <li>metaWeblog.editPost</li>
\r
121 <li>metaWeblog.getPost</li>
\r
122 <li>metaWeblog.getCategories</li>
\r
123 <li>metaWeblog.newMediaObject (v2.5)</li>
\r
124 <li>metaWeblog.getRecentPosts (v2.5)</li>
\r
127 <p>Nucleus v3.22以降、<code>mt_text_more</code> と <code>m_tallow_comment</code>もサポートされました。これはmetaWeblog API の拡張版です。つまりこれらの拡張機能をサポートするアプリケーション、例えば Ectoなど、を使用した場合、「続き」を編集することができ、アイテムにコメントを許可するかどうかを決定することができるようになる、ということです。</p>
\r
129 <h1><a name="mtApi" id="mtApi">Movable Type API</a></h1>
\r
131 <p>v2.5から、Nucleusは<a href="http://www.movabletype.org/docs/mtmanual_programmatic.html">Movable Type API</a>からのメソッドをサポートするようになりました。</p>
\r
133 <p>利用できるメソッドの一覧を以下に示します:</p>
\r
136 <li>mt.supportedMethods</li>
\r
137 <li>mt.supportedTextFilters</li>
\r
138 <li>mt.publishPost</li>
\r
139 <li>mt.getCategoryList</li>
\r
140 <li>mt.getPostCategories</li>
\r
141 <li>mt.setPostCategories</li>
\r
142 <li>mt.getRecentPostTitles</li>
\r
143 <li>mt.getTrackbackPings</li>
\r
149 <li>Nucleusはアイテムひとつにつき一つだけカテゴリを設定することができます。これは 'primary' 以外のカテゴリ設定項目はすべて無視されることを意味します。</li>
\r
150 <li>トラックバックはNucleusのコアではサポート対象外です(プラグインの導入によって利用することができるようになります)。このため、<code>mt.getTrackbackPings</code> のデフォルトの返値は空です。</li>
\r
151 <li>Nucleusはテキストフィルタを実装していません。このため、<code>mt.getSupportedTextFilters</code> は空の値を返します。</li>
\r
154 <h1><a id="errorcodes" name="errorcodes">エラーコード</a></h1>
\r
157 以下に示すのは、それぞれのメソッドから得られるエラーの種類です:
\r
160 <table summary="エラーコード と エラーメッセージ">
\r
162 <th abbr="エラーコード">エラーコード</th>
\r
163 <th abbr="エラーメッセージ">エラーメッセージ</th>
\r
167 <td>Login Error <br />
\r
168 ログインエラー(ユーザ名とパスワードの組み合わせが正しくないと推測されます)</td>
\r
172 <td>No Such Blog<br />
\r
173 指定されたBlogは存在しません</td>
\r
177 <td>Not a Team Member<br />
\r
182 <td>Cannot add Empty Items<br />
\r
183 空のアイテムは投稿できません</td>
\r
187 <td>Amount parameter must be in range 1..20<br />
\r
188 パラメータの値は 1..20 の範囲でなければなりません(<em>getRecentItems</em></td>
\r
192 <td>No Such Item<br />
\r
193 指定されたアイテムは存在しません</td>
\r
197 <td>Not Allowed to Alter Item<br />
\r
198 アイテム追加の権限がありません</td>
\r
202 <td>Invalid media type<br />
\r
207 <td>File is too large<br />
\r
208 ファイルが大きすぎます(最大のアップロードファイルサイズ)</td>
\r
212 <td>Other error on newMediaObject<br />
\r
213 newMediaObject で予期せぬエラーが発生しました(何が起きたのかもう少し情報が含まれるでしょう)</td>
\r
217 <td><em>その他のコード < 100</em></td>
\r
218 <td>Errors encountered by the Useful Inc. XML-RPC implementation<br />
\r
219 Usefil Inc. XML-RPC の実行でエラーが発生しました</td>
\r
222 <td><em>その他のコード > 100</em></td>
\r
224 <td>Errors encountered by the XML parser<br />
\r
225 XML パーサでエラーが発生しました</td>
\r