PythonでMovableTypeのXML-RPCインターフェースを叩く « taichino.com
ウェブサービスパスワードを確認したら記事を投稿してみます。ここで注意するべきなのはblog_idが文字列である事と、mt_text_moreで「キー名=値」とするとカスタムフィールドデータを渡せる事です。
「mt_text_more」ってのは「追記」、つまり「エントリの続き」のことです。
そんなところにデータ預けちゃって良いのかよ、ていうかそんなことして「追記」はちゃんと投稿できるのかよ、と思ったのですが改行を挟むことできちんと判別できるようです。
コードイメージとしてはこんな感じ。
$text_more = '追記に挿入する文章';
$custom_field = 'フィールド名=値';
$mt_text_more = $text_more . "\n" . $custom_field;
「フィールド名」はというのはカスタムフィールドの「ベースネーム」というやつです。
複数登録したいときには、改行で区切って追加していってやれば大丈夫。
こんな感じで。
$text_more = '追記に挿入する文章';
$custom_field1 = 'フィールド名1=値';
$custom_field2 = 'フィールド名2=値';
$mt_text_more = $text_more . "\n" . $custom_field1 . "\n" . $custom_field2;
なるほど。
場当たり的な対応だなぁと言う気もするけれど、XML-RPCの仕様を変えるわけにはいかないし、これならラッパーさえ変えずに投げるデータを変えるだけで運用を変更できるから楽って言えば楽。気持ちは悪いけれども。
ともあれ、無事に出来たので良しとする。
ちなみに、相変わらずXML-RPC経由で日時指定投稿というのは出来ないのね。
publishが真偽値だからそれはもう仕方のないことかな…
NoPublishMeansDraftを1にして下書きで投稿→別途日時指定という今までのやり方で行くしかないか。
NoPublishMeansDraft | 環境変数リファレンス