-
- 2006年8月19日 04:17
- Movable Type | Programming
以前XML RPCを使ってMovable Typeのエントリをポストという題で記事を書いたのですが、そいつを辿ってきてくださる方もそこそこいるようなのです。
しかし、最近MT3.3にバージョンアップしたら該当コードが動かないことが発覚。
なんでよ? と思ってMovable Type 3.3 マニュアル - XML-RPC APIを見たところ…。
関数の一部はなくなってるし、ぐっちゃぐちゃでした…。
ドキュメントは多少整ってきたと言えるかもだけど、ここいらはもうちょっとちゃんとしてほしいなぁ。metaWeblog.newPostとかなくなってるし。んもう。
以前のコードは動かなくなってますが、基本的な動かし方は以前のコードと同様です。とりあえず自分は、metaWeblog.newPostで一発で処理していたところを
blogger.newPostで適当な内容の記事を作成してpostidをget。そしてきちんとした内容をmetaWeblog.editPostで行う
といった感じで二段組みで処理させました。metaWeblog.editPostはmetaWeblog.newPostと違って返り値がpostidではないので、その後のカテゴリ設定時には注意してくださいませ。
Comments:5
- naoki 2007年5月14日 17:36
はじめまして。
naokiと申します。MT以外から、エントリーを投稿できるようにしたいのですが、情報が少なくここにたどり着きました。
「XML RPCを使ってMovable Typeのエントリをポスト」を参考にしているのですが、どのようにそのphpを使うのかわからないのです。
具体的には、タイトルやエントリー内容をどうやって、phpの変数に渡すのかということでしょうか?んんん。
phpは初心者ですが、as2.0がわかるので、ソースの中身は大体理解できます。
しかしphpを使う仕組みがわからず四苦八苦しています。
どうかよろしくお願いします。
- Hiroaki 2007年5月14日 17:42
はじめまして、naokiさん。
たしかに、なんとかしてphpの引数にテキストを渡してやらなければなりません。自分が想定していたのは、HTMLのフォームを使う方法です。$_GET[]や$_POST[]を使うとHTMLフォームの値を引っ張り出せますので、そいつを投稿用のメソッドの引数に与えてやれば良いんじゃないでしょうか。
まず、このブログのような「コメントを投稿する」的な機能を実装できれば、後はすぐだと思いますよ。
- naoki 2007年5月14日 17:57
具体的に聞きますと、
var $client;
var $appkey;
var $username;
var $passwd;
var $blogid;
var $publish;
var $content;
の変数がありますよね。これに必要な情報を入力する
htmlのフォームをつくり、$_POST[]で変数に渡します。その後、どうすればよいのでしょうか?phpのclassの使い方がわかりません。
何度もすみません。お手数をおかけします。
- Hiroaki 2007年5月14日 18:06
var hoge = new XMLComm();
とかして、
hoge->postEntry();
とかすればよいのです。ちなみに、ここでは書きませんでしたが、
MT_XMLRPC_PATH
MT_USER
などといったところは、どっか別のconfigファイルでdefineとして定義しているものです。適宜読み替えてください。申し訳ありませんが、これ以上PHP自体の説明はいたしません(そもそも、そういったことを目的としていませんし…)。
ここ以外にPHPの文法を解説しているサイトはたくさんありますから、そちらを参考になさってみてください。- naoki 2007年5月14日 18:11
だいぶ理解できました。
親切に教えてくださって、ありがとうございます。
大変助かりました。
Trackbacks:0
- TrackBack URL for this entry
- http://blog.hiroaki.jp/mt/mt-tb.cgi/396
- Listed below are links to weblogs that reference
- Movable Type 3.3でXML-RPC APIの仕様が変わってた… from Hirolog