[MovableType]XML-RPCを使ってブログ記事を投稿する方法 - POSTコマンド編
手順はすごく簡単です。
システムにPOSTコマンドさえインストールされていれば、他には何もいりません。
ステップ1:記事内容を書いたXMLファイルを作る
エディタでXMLファイルを作って保存します。中身はこんな感じです。
sample.xml
<?xml version='1.0' encoding='utf-8'?>
<methodCall>
<methodName>metaWeblog.newPost</methodName>
<params>
<param>
<value><string>1</string></value>
</param>
<param>
<value><string>username</string></value>
</param>
<param>
<value><string>password</string></value>
</param>
<param>
<value>
<struct>
<member>
<name>title</name><value><string>ここに記事のタイトルを書きます。</string></value>
</member>
<member>
<name>description</name><value><string>ここに記事本文を書きます。</string></value>
</member>
</struct>
</value>
</param>
<param>
<value><boolean>1</boolean></value>
</param>
</params>
</methodCall>
<param>の各項目の意味は下記のようになっています。
- ブログID
- 管理画面にログインするときのユーザ名
- 管理画面にログインするときのパスワード
- 記事の件名
- 記事の本文
- 公開するかどうかのフラグ(※注)
※注 これはちょっと紛らわしいのですが、投稿時の再構築(HTML書き出し)を行うかどうかのフラグです。
ステータス「公開」「未公開(原稿)」を意味しているわけではありません。
つまり、
'1'の場合:ステータスが「公開」で、HTMLファイルの書き出しが行われる。
'0'の場合:ステータスが「公開」だが、HTMLファイルの書き出しは行われない。
となります。
ステップ2:コマンドラインからコマンドを実行する
$ POST -c text/xml http://example.com/mt/mt-xmlrpc.cgi < sample.xml
※mt-xmlrpc.cgiへのURLは、お使いの環境に応じて書き換えてください。投稿が成功すれば、標準出力に下記のような応答が出力されます。
<?xml version="1.0" encoding="UTF-8"?><methodResponse><params><param><value><string>419</string></value></param></params></methodResponse>
<value><string>に囲まれた部分の数値は、投稿された記事のエントリーIDです。感想
コマンドラインから投稿できるというのは、すなわちウェブブラウザなしで投稿できるということです。あの重たい管理画面を触らずにすむし、投稿がワンアクションで完了するので非常に快適です。
よかったらぜひ試してみてください。
カテゴリ:
MovableType
Linux