PHPやるお

うおおおおおおおおお!

PHPとIXR_Library.phpを使って、ロリポップレンタルサーバーにインストールしたMovableTypeに自動投稿する方法

FC2は自動投稿の敷居は低いけれど制限がある

FC2ブログにXML-RPC経由で新規投稿できるのは1日10件まで - PHPやるお(^ω^)
暇人プログラマの日記

致命的な問題としてFC2の仕様(不具合)でカテゴリIDが2桁以上あると 最初の1桁しか認識しないようです

これらの使い勝手が悪いので、投稿制限のない『Movable Type』のXML_RPC機能を試した。 ロリポップのお試し10日間無料を活用。

実例

過去記事で披露した、以下のコードをベースに作った。
FC2版(FC2ブログにPHPでログインして投稿する)とは微妙に異なる。後述する。

・FC2と違うのは、ブログIDが必要なこと。(FC2の場合、ユーザー名とパスワードだけでOK)
・エンドポイント設定が異なる
Movable Typeはウェブサイトが基本単位であり、さらにブログを作成しなければいけない。
・新規ブログは、ユーザーダッシュボード(初期画面)のウェブサイト欄の「ブログを作成」ボタンで作れる。

参照
ブログ ID を確認するには | Movable Type FAQ

・ユーザーIDは、MT画面のユーザー名そのまま。
・パスワードは、MTの場合「Webサービスパスワード」という名称。ユーザー情報の編集(管理画面の右上のユーザー名をクリックすれば移動できる)で確認すること。

エラー表示が発生

Something went wrong - Server : Can't use string ("3") as a HASH ref while "strict refs" in use at lib/MT/XMLRPCServer.pm line 1207.

しかし、ちゃんと投稿できていた。これはたぶんPerlのエラー表示であり、おれはPHPを使っているのだが、どうすればいいのだろう。

MTでカテゴリを作っていないのに、カテゴリ設定をするコードを含めたらエラーになる。(正確には、新規記事投稿以降のコードが実行されない)単なる、おれの凡ミスでした。