昨日、
実装に成功したモブログですが、トラックバックの承認の件で引っかかっていたので何か良い方法がないものか調べてみました。
mtmobはXML-RPCでsbとのデータのやり取りをするわけですが、XML-RPCでトラックバックの承認についての通信が無いものか見ていたところ、Movable Typeでは
metaWeblog.newPostにて
mt_allow_pingsという拡張命令が実装されているとの事でした。
これがsbで使えればなぁ…なんて思いつつsbヘルプの「XML-RPC APIについて」を見ていたところ、ちゃーんと実装されていました。
metaWeblog.newPost
機能
新しい記事を投稿します。
引数
blogid [string], username [string], password [string], content [struct], publish [boolean]
返値
成功すると記事ID(string)を返します。
補足
content [struct]は以下の項目を含みます。
title [string]
description [string]
dateCreated [dateTime.iso8601]
mt_allow_comments [int]
mt_allow_pings [int]
mt_convert_breaks [string]
mt_text_more [string]
mt_excerpt [string]
mt_keywords [string]
mt_tb_ping_urls [array]
ほうほう!と思いながら、mtmob.phpをエディタで眺めているとXML-RPCでのやり取りが行われている部分を見つけたので書き換えてみました。
具体的には…
603行目から始まる
metaWeblog.newPostのやり取りの中で
'mt_allow_pings' => new xmlrpcval("2", 'int'),というコードを入れることにより、モブログからのトラックバックは「承認が必要」でエントリが可能です。「2」というIDが「承認が必要」という意味合いです。ちなみに僕は
'mt_convert_breaks' => new xmlrpcval("none", 'string')の前に
mt_allow_pingsのコードを挿入しました。コードを見れば分かりますが、2箇所挿入する部分があると思います。
XML-RPCなど今まで意識して使った事が無かったのでよい勉強になりました。こういうのがうまくいくと非常に面白いです。
ちなみにmtmobはスクリプトの改変について
「当スクリプトの一部または全部を使用・改造・再配布することは自由です。
但し、mtmob.php, catlist.php を除くスクリプトに関しては当該スクリプトが定める規約に準じます。」
とうたわれています。スクリプトの改変の際にはこの点を留意の上、自己責任で。
関連リンク:XML-RPC HOWTO
関連リンク:Movable Type で使える XML-RPC API