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