2010年12月08日

Android や iOS から BlognPlus へ投稿できるようにするモジュール

ケータイを is03 に変えました。Android、いいですね。いろいろ試してみるためにプログラムを作ってみました。でも、アプリではありません。

BlognPlus というブログシステムの機能拡張のモジュールです。Android から写真や記事投稿できるようにします。でもこれを作る過程でアプリの開発環境を構築して、ブログクライアントのデバッグもやったりしたので、いろいろ勉強になりました。

これをBlognPlusにインストールすると、Android から記事を投稿できるようになります。
たぶん、iPhone からも投稿できるはずです。iPad からできましたから。

どうやって Android から投稿するのかというと、もちろん XML-RPC API を通じてです。以前、BlognPlusにブログペットを配置できるようにするモジュールBlognPetを作りましたが、あれは実際、ブログペットで使う最低限のAPIを実装したものでした。これをAndorid にあるブログ投稿用のアプリで使えるようにAPIの数を増やしてみたわけです。今回は画面にパーツを配置する必要はないので、純粋にAPIを実装させただけのものになります。

BlognPlus 本体も、2.6.1あたりからXML-RPC API 対応になっています。これは外部ライブラリーを使わずに直接書かれているすごいものなんですが、iPad や Android にあるアプリからの利用はうまくいきませんでした。

そこで、以前作りかけていたコードを引っ張り出して作ってみました。BlognPlus 本体の方で対応できるまでのつなぎという感じです。これで、Android から BlognPlusへ 写真付きの投稿ができるようになります。

とりあえず、ここで公開しておきます。

ダウンロード
↓↓↓
blogapi_module_101.zip
追記:
wp.getPageStatusList、wp.getPostStatusList の解釈の間違いを修正。metaWeblog.deletePost の追加。

お約束ですが、自己責任でご利用ください。モジュールの性質上、記事データベースを操作しますので、必ず、記事のデータなどをバックアップしてから使ってください。


このアーカイブを展開し、xmlrpc.php を blognplus の index.php ファイルと同じフォルダに配置します。blogapiフォルダをまるごと、moduleフォルダ内に配置します。あとはブログクライアントで設定をすれば、使えるようになります。


■ 利用できる Android ブログクライアントの紹介

WordPress for Android

とても高機能な WordPress 用の公式ブログクライアントです。このモジュールはこのクライアントで利用できることを目標に作っています。記事の投稿、編集、カテゴリーの追加、写真の投稿、コメントへの返信などができます。また新着コメントの通知機能も利用できます。本来 WordPress 用のものですから、仕様が変われば今後も使い続けられるかどうかわかりませんが、今のところとても快適に使うことができます。

ただし以下の問題があります。
・BlognPlus には WordPress特有のページコンテンツがないので既存のページを見ることはできません。
・記事やコメントを全部削除してしまうと、最後に消したものがリストに残ってしまいます。新たな記事やコメントができると解決します。
・公開していない記事のプレビューを見ると文字化けします。


アカウント登録画面で各自がサーバーに配置したWordPress で利用するための設定を利用します。三番目のボタンです。(is03ではこのボタンが数ミリしか見えていないので、がんばって押します。)

BlogURL欄に配置した BlognPlus のURL、Username欄とPassword欄に、BlognPlusに登録してあるユーザー名とパスワードを入力します。そして保存ボタンを押せば登録完了です。

あとはいろいろ試してください。


WordPress for Android だけでなく、「PostBot」や、「Drupal Editor」といったシンプルなクライアントからでも利用できます。ただし「PostBot」には記事の再編集機能がありません。「Drupal Editor」に画像投稿機能がありません。また新規投稿でカテゴリーの指定ができないアプリの側の問題があります。「Drupal Power」は残念ながら、エラーが出て使えません。



iPhone や iPadからも使えるんですが、使えたアプリの紹介は次回にします。ただ 予め書いておきますが、WordPress for iOS は利用できません。


なお、このモジュールでは、BSDライセンスの XML-RPC for PHP を利用しています。
http://phpxmlrpc.sourceforge.net/


最後に、この記事に書きましたブログペットは今月15日にサービス終了するので、BlognPetモジュールをご利用の方はすみやかに削除してください。


posted by takayan at 03:10 | Comment(0) | TrackBack(0) | BlognPlus | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。