publishToMixi

September 7th, 2009

[2009/9/7] 最新版はバージョン3.0.1です。以前のバージョンのダウンロードはこちらからどうぞ。

publishToMixiは、WordPressへの投稿をmixiにも同時に投稿するためのWordPressのプラグインです。publishToMixiはオープンソースで、利用は無料です。ソースコードはGitHubにあります。修正拡張大歓迎です。

Blogに書いたのと同じことをmixiに書くのはなんか二度手間だし、だからといってmixiにRSSを登録すると外部リンクになってしまってこれもいまいちイケてない。WordPressへの投稿をmixiに自動的に投稿するプラグインというのを探して試してみたのですが、バージョンが古かったのかうまく動かなかったので、どうせならということで自分で作ってみました。

[特徴]

  • WordPressへの投稿をmixiへも自動的に投稿できる。
  • mixiに同時に投稿するかどうかを投稿するときに選べる
  • 投稿内で使用されている画像も自動的にmixiへ投稿できる。
  • インストールはファイルをアップロードしてプラグインを有効にするだけ。
  • 別途ライブラリのインストールは一切必要なし

[インストール方法]

  • Zipファイルをダウンロードして解凍します。
  • publishToMixi.php を wp-content/plugins フォルダにコピーします。
  • 管理画面からプラグインを有効にします。

    activate_plugin
  • サイドバーから「mixi投稿設定」を選択します。
    side_menu
  • mixi登録メールアドレス、mixiパスワード、mixi IDを設定します。mixi IDは、mixiにログインして「プロフィールを見る」をクリックすると表示されるURLの中にある数字です。例えば下の例の場合、mixi IDは47085になります。

    mixi_id
  • (必要に応じて)デフォルトのヘッダー、フッターなどを設定します。
  • 「Save Changes」をクリックして変更を確定します。

[使い方]

プラグインをインストールして有効にすると、WordPressのポスト(Post)を入力する画面に、「mixi投稿設定」というオプションが下の方に現れるようになります。
publish_to_mixi_main

ポストを投稿(Publish)するときに「mixiに投稿する」オプションをチェックすると、同じ投稿内容がmixiの日記にも同時に自動的に投稿されます。ヘッダー、フッターに入力された文字は、投稿本文の前後に自動的に付加されてmixiに送信されます。また、ヘッダー、フッター内の%%URL%%という文字列は、自動的にWordPressのポストのPermalinkに変換されます。WordPressのオリジナルの投稿へのリンクをmixiへの投稿に埋め込みたいときに便利です。

WordPressのポスト中で画像をimgタグで指定した場合、ポストの文中で一番最初に指定されたJPEG画像が同時にmixiに投稿されます。また、投稿中にYouTubeかニコニコ動画へのリンクがある場合、その動画へのリンクが自動的にmixiの投稿に埋め込まれます。その他のすべてのHTMLタグは、mixiに送られるときに取り除かれます。

[動作環境/注意点]

  • WordPress 2.5/2.6/2.7/2.8系で PHP5系ならとりあえず動くと思います。
  • PHP4ではクラスなどがサポートされていないので動かないと思います。
  • WordPressの文字コードはUTF-8である必要があります(デフォルトはUTF-8なので、特に指定していない限りは問題ないと思います)。
  • PHP 標準の機能だけで書いてあるので、別途必要なライブラリはありません
  • Mixiプレミアムのアカウントでの動作は確認していません。(プレミアムでの動作確認をしてくれた方がいました、ありがとうございます)
  • 対応しているのは現在ポストの新規投稿のみです。既存のポストを変更してもMixiの日記は更新されませんし、既存のポストを削除してもMixiの日記は削除されません。Mixi側の日記の変更、および削除は手動で行ってください。

[ライセンス]

利用は無料、ライセンスは GPL(http://www.gnu.org/licenses/)です。オープンソースです。ソースコードはGitHubにあります。拡張修正大歓迎です。みんなで良いものにしていけたらいいなと思います。

[開発環境]

Mac OS X 10.5
Apache 2.2.8
PHP 5.2.5 (mod_php)
Wordpress 2.5.1/2.7/2.8

[3.0.1での変更点]

  • いくつかの不具合を修正

[3.0での変更点]

  • 管理画面の追加(協力:entoさん)
  • メッセージを日本語に変更(協力:entoさん)
  • HTMLタグのハンドリングを強化(協力:entoさん)
  • URLリダイレクト先にあるJPEG画像に対応(協力:entoさん)
  • YouTube、ニコニコ動画へのリンクの自動追加
  • コードの大幅簡略化

[2.1での変更点]

  • WordPress iPhoneアプリに対応。
  • Windows環境のPHPに対応。

[2.0での変更点]

  • MixiのAtomPub APIを利用するように変更。実行スピードが大分速くなったと思います。
  • AtomPub APIの制限により、同時投稿できる画像の数が3つから1つになりました。
  • ポストの文章中のリンク情報を残すように変更。

[1.4での変更点]

  • Header, Footerのサポート

[1.3での変更点]

  • Wordpress 2.7 対応
  • defaultオプションをコードへ追加
  • encodingオプションをコードへ追加

[1.2.1での変更点]

  • try-catchの削除 : PHPによっては動かない場合があるとレポートがあったため
  • mb_convert_encoding関数があったらiconvの代わりにこれを使用するように変更
  • utf-8からeuc-jpへ変換できない文字のサポート

[1.1での変更点]

  • JPEG画像の同時投稿のサポート

ご意見、ご要望などありましたら、コメントのほうまでよろしくどーぞ。

  1. winger
    July 7th, 2009 at 01:58 | #1

    こんにちは。
    #36に投稿したものです。
    バージョンアップになって、2重投稿はなくなったようです、ありがとうございます。
    ただ、次はScribeFireで投稿すると、フッターのリンク「%%URL%%」が適用にならずに何も出てこない感じです。
    普通にWordPressの投稿画面からだと適用になっています。
    よろしくお願いします。

  2. August 1st, 2009 at 05:19 | #2

    早速インストールして愛用しています。大変便利なソフトありがとうございます

  3. kei
    August 2nd, 2009 at 03:15 | #3

    ★wingerさん
    2重投稿が解消されたようで何よりです。フッターのリンクの方は…後で見てみますね。なんでじゃろな?

    ★定食猫さん
    よろこんでいただけてなによりです!

  4. NJ
    August 4th, 2009 at 06:40 | #4

    こんにちは。
    とても便利なプラグインで、使わせて頂いております。

    ひとつお聞きしたいことがあるのですが、

    当方WordPress2.8.3ですが、
    WordPressの投稿画面(リッチエディタ使用)で
    行と行の間を広く取るときに改行を2つ入れたりするのですが、
    (HTML的には<p></p>が入っていると思うのですが)
    mixi側で投稿された本文を確認すると半角の?に置き換わってしまいます。

    これをどうにか回避したいのですが、方法はありますでしょうか?

  5. kei
    August 6th, 2009 at 08:16 | #5

    NJさん、こんにちは。

    推測なのですが、リッチエディタが改行以外にもなんか余計なものを突っ込んでいるんじゃないかと思います。時間があったら後で見てみますね。

  6. shinobu
    August 14th, 2009 at 10:14 | #6

    keiさん はじめまして。
    今更な質問で大変申し訳ないのですが、こちらのプラグインを導入させていただき、プラグインを有効にしたのですが「mixi投稿設定」を選択してもタイトルだけで内容が表示されません。
    投稿画面のチェックマークは出てます。

    現在のWPのバージョンは2.6.2です。(2.8.4導入に失敗し、戻しました)
    何が原因で設定画面が表示されないか思い当たられることはございませんでしょうか。

  7. August 26th, 2009 at 03:01 | #7

    初めまして、mixiクロスポストプラグインと言うことで
    使用させて頂きました。
    一点質問なのですが、通常のブログ記事投稿は対応していないのでしょうか?

    というのも、デフォルトでmixi投稿をオンにしているブログ記事は新規投稿時
    に反映されず、テストで作った「ページ」はチェック欄がないのですがmixiに
    投稿されています。
    wp2.8.4を利用中で、特にテーマ以外カスタマイズしてはいないのですが。

    念のため、ご報告までm(_ _)m

  8. kei
    August 27th, 2009 at 18:45 | #8

    shinobuさん
    設定画面の中身がまったく表示されない、であってますか? 私の環境では出るので、ひょっとしたら2.6の問題なのかもしれません。あとで見てみますね。

    案山子さん
    Postは投稿されないけど、Pageは投稿される、であってますか? 確かPostは投稿してPageは無視、というように作ってたと記憶してたのですが、ちょっと見てみますね。

  9. screny
    August 31st, 2009 at 21:14 | #9

    ケイさんこんにちは、
    publishToMixiをおもしろいですね。

    カスタマイズされて、OpenPNEを使ったSNSにも投稿できるpublishToOpenPNEというのがあるとうれしいなと思います。

    ご検討いただけたらと思います。

    宜しくお願い致します。

  10. September 1st, 2009 at 00:12 | #10

    kei様、有り難うございます。
    その後、こちらでも動作確認を行いました。

    O:POST投稿がされない。
    X:Page投稿がされてしまう。
    X:URLが正常に挿入されない
    X:Wordpressの予約投稿でmixiに反映されない

    publishToMixiプラグイン自体を再度取得し、「publishToMixi」と言うフォルダ名でアップロード。
    ※前回はkei-51-publishToMixiというフォルダ名でした。

    一旦、マルチバイトプラグインとpublishToMixi以外のプラグイン以外を全て無効化し投稿。
    POST正常投稿確認後( wordpress、mixi )、他プラグインを有効化
    再度新規POSTを行い、mixiに反映されることを確認。

    挿入URLについては、一度下書き状態で保存することにより、mixi側に反映されました。
    但し、mixiの挿入URLは、Wordpress標準のURLになっていた為に、カスタマイズパーマリンクだと正常に反映されません。(%category%/%postname%.html で使用。)

    予約投稿でmixiに反映されないのは、仕様でしたらすみません。

    pageの方は相変わらず投稿反映されていました。

    最後に、下書き状態にしたら、投稿チェックを外していてもPOSTが投稿されました。(下書き無しの状況は未確認)
    —-
    ・Wordpress2.8.4 + VicunaCMS カスタマイズ
    ・PHP5.2.6
    ※カスタマイズは主にテーマのCSS、TOPページ自作。コアPHP部分は未改修。

    —-
    尚、今回は画像の挿入は試しておりません。(前回は画像挿入も確認)

    以上です。

  11. face
    September 4th, 2009 at 07:25 | #11

    こんばんは。
    とても便利に使わせていただいてます。ありがとうございます。
    iPnone用アプリの動作についてです。

    写真の投稿について、
    1枚だけですと問題なくmixiにアップロードされたのですが
    3枚ですと、1枚目のみアップロードされ 残り2枚はURLになっており
    mixiへのアップロードはできないようです。
    これは仕様上の問題でしょうか?可能でした3枚ともアップロードできるとうれしいです。どうぞよろしくお願いします。

  12. kei
    September 7th, 2009 at 13:33 | #12

    screnyさん、こんにちは。
    OpenPNEというのを使ったことが無いので何とも言えないのですが、WPからOpenPNEへpublishするようなものを期待されているのでしょうか? 基本的には自分が使わないものに対してはモチベーションが維持できないので、作るというのは申し訳ないですがお約束はできませんです、すいません。ソースコードは全部オープンなので、気合いで自分で作ってみる、というのはいかがでしょう? :)

  13. kei
    September 7th, 2009 at 13:45 | #13

    案山子さん、詳細な調査、ありがとうございます。調査をもとにワタシの方でも調べてみて、以下の問題を確認し修正しました。

    - Pageも投稿されてしまう
    - たまに投稿されない (footerが空だと投稿されない)
    - permalinkのURLのスタイルがおかしい

    のちほど修正版をのせる予定ですが、もしすぐに試したかったらgithubから最新のpublishToMixi.phpをダウンロードして試してみてください。

  14. kei
    September 7th, 2009 at 13:48 | #14

    faceさん
    写真が1枚だけというのは残念ながらMixiのweb serviceの制限なのです。1枚に全ての想いをがんばって込めてください :)

  15. September 9th, 2009 at 04:56 | #15

    はじめまして。
    hf164と申します。

    素敵なプラグインに巡り合いました。

    早速使わせて頂きます。

    御迷惑でなければと思いますが、トラックバックさせて頂きます。

    これからも、素敵なプラグインをどうか公開して頂きますよう、応援させて頂きます。

  16. kei
    September 9th, 2009 at 10:42 | #16

    hf164さん、こんにちは。
    喜んでいただけてなによりです。
    トラックバック、全然迷惑じゃないですw

  17. river24
    September 15th, 2009 at 07:43 | #17

    素敵なプラグインをありがとうございます!
    利用させていただいております.

    個人的な利用方法ですが,
    mixiの日記として,WordPressに新たな投稿があったことのみを書いて,
    本文はWordPressを参照するようにしたかったので,
    プラグインのソースを変更して利用させていただいています.

    それならFeedを登録すればいい,ともなりますが,
    mixi日記だけに書きたいこともあったので,上記のような利用方法をしています.

    現状はヘッダとフッタをカスタマイズできるようになっていますが,
    「%%URL%%」とした部分がPermalinkになるように,
    「%%CONTENT%%」とした部分が本文に置き換わるようにして,
    全体としてどのような形でmixiに投稿するのかもカスタマイズできると,
    上記のような利用方法の場合でも,ソースコードの改変が必要なくて嬉しかったりします.

    そんな要望はあまりないかもしれませんが,ご検討いただけますと幸いです.

  18. river24
    September 16th, 2009 at 07:45 | #18

    連続投稿でスミマセン.

    上記のヘッダとフッタだけでなく,本文を入れるか否かの対応,試しにやってみました.
    うちの環境では問題なく動いているようです.
    githubでforkさせていただいて,改変したソース上げておきます.

  19. river24
    September 16th, 2009 at 07:55 | #19

    すみません・・・.リンク忘れました・・・.
     http://github.com/river24/publishToMixi
    「%%CONTENT%%」と提案させていただいていた部分は,「%%BODY%%」に変更になっています.

  20. kei
    September 17th, 2009 at 19:28 | #20

    river24さん
    なるほど、ヘッダーもフッターも本文もひとまとめにする、ということですね。たしかにこれのほうがシンプルで柔軟ですね。ありがとうございます。

    ひとつ気になるのは、大多数の人が本文は自動的に入ると思っているので、この変更をいれるとアップグレードしたとたんに本文が投稿されなくなって困るんじゃないか、ということです。ヘッダーやフッターの設定も無効になってしまうのも気になります。なにか、いい落としどころがあればいいのですが…

  21. kddoi
    December 6th, 2009 at 17:10 | #21

    大変便利なプラグインを作成し、公開してくださってありがとうございます。
    細かいことなのですが、気が付いたことがありますので報告させてください。

    最新版の3.0.1をインストールしたと思ったのに、何故か管理画面では3.0と
    表示されます。本体のPHPファイルの最初の方のVersionを編集したところ、
    バージョンが変わりました。もしかしてソースファイルを更新した後、
    バージョンの部分のみ更新し忘れていたりはしませんでしょうか?
    問題は全くありませんが、最初は更新が失敗したのかと思ってしまいました
    ので、念の為報告させていただきました。

  22. kei
    December 7th, 2009 at 10:44 | #22

    kddoiさん

    ご指摘、ありがとうございます。まったく、そのとおりです。
    あとで直しておきます。ありがとうございました。

  23. du
    December 14th, 2009 at 20:17 | #23

    プラグインをありがとうございます。

    私はphpやwordpressについては、素人程度の知識しかなく恐縮ですが、質問させてください。
    この publishToMixi は、wordpress mu で、複数のユーザーで使う事はできないのでしょうか?

  24. kei
    January 20th, 2010 at 11:20 | #24

    duさん、こんにちは。返事遅くなりました。

    複数ユーザーというのは、Mixiの複数のアカウントを使う、というイメージでよろしいのでしょうか?だとすると、今のところはそれについては対応してませんです。

  25. January 31st, 2010 at 08:07 | #25

    ご無沙汰致しております。

    以前投稿させて頂いたhf164で御座います。

    publishToMixiの質問があり投稿させて頂きます。

    Word Press側の投稿で複数画像がある新規投稿で
    mixiに投稿されると、一枚目の画像のみmixi側で表示され
    それ以降の画像はlinkになるのですが、全部(規定では3枚?)が
    linkにならないようにするには、何かいじる必要があるのでしょうか?

    お忙しい所申し訳ございませんが、御手が空いた時にでも教えて頂ければ幸いです。

Comment pages
  1. December 21st, 2008 at 12:32 | #1
  2. December 21st, 2008 at 15:55 | #2
  3. December 25th, 2008 at 16:23 | #3
  4. December 26th, 2008 at 04:25 | #4
  5. December 29th, 2008 at 09:41 | #5
  6. January 6th, 2009 at 11:04 | #6
  7. January 8th, 2009 at 13:44 | #7
  8. January 9th, 2009 at 04:22 | #8
  9. January 12th, 2009 at 06:06 | #9
  10. January 13th, 2009 at 05:47 | #10
  11. January 16th, 2009 at 19:30 | #11
  12. January 19th, 2009 at 04:27 | #12
  13. January 27th, 2009 at 02:05 | #13
  14. February 2nd, 2009 at 02:51 | #14
  15. February 14th, 2009 at 16:33 | #15
  16. February 15th, 2009 at 14:49 | #16
  17. February 15th, 2009 at 21:45 | #17
  18. February 19th, 2009 at 14:16 | #18
  19. February 23rd, 2009 at 16:03 | #19
  20. February 24th, 2009 at 06:19 | #20
  21. March 5th, 2009 at 12:17 | #21
  22. March 10th, 2009 at 04:03 | #22
  23. March 14th, 2009 at 16:07 | #23
  24. March 16th, 2009 at 21:01 | #24
  25. March 17th, 2009 at 04:18 | #25
  26. April 10th, 2009 at 06:55 | #26
  27. April 13th, 2009 at 01:43 | #27
  28. May 2nd, 2009 at 04:44 | #28
  29. May 4th, 2009 at 05:07 | #29
  30. May 7th, 2009 at 14:23 | #30
  31. May 19th, 2009 at 14:16 | #31
  32. May 24th, 2009 at 10:19 | #32
  33. June 5th, 2009 at 06:28 | #33
  34. June 6th, 2009 at 08:02 | #34
  35. June 9th, 2009 at 01:02 | #35
  36. June 12th, 2009 at 01:35 | #36
  37. June 17th, 2009 at 13:44 | #37
  38. June 24th, 2009 at 06:36 | #38
  39. July 1st, 2009 at 06:38 | #39
  40. July 5th, 2009 at 18:27 | #40
  41. July 13th, 2009 at 11:28 | #41
  42. July 19th, 2009 at 08:43 | #42
  43. July 22nd, 2009 at 12:40 | #43
  44. July 23rd, 2009 at 01:12 | #44
  45. July 25th, 2009 at 09:52 | #45
  46. July 31st, 2009 at 07:57 | #46
  47. August 2nd, 2009 at 11:15 | #47
  48. August 2nd, 2009 at 11:28 | #48
  49. August 6th, 2009 at 04:47 | #49
  50. August 6th, 2009 at 06:36 | #50
  51. August 6th, 2009 at 21:53 | #51
  52. August 6th, 2009 at 22:01 | #52
  53. August 7th, 2009 at 02:16 | #53
  54. August 9th, 2009 at 11:49 | #54
  55. August 24th, 2009 at 23:59 | #55
  56. August 25th, 2009 at 00:13 | #56
  57. September 2nd, 2009 at 08:44 | #57
  58. September 3rd, 2009 at 06:55 | #58
  59. September 4th, 2009 at 19:14 | #59
  60. September 9th, 2009 at 05:00 | #60
  61. September 15th, 2009 at 01:05 | #61
  62. September 17th, 2009 at 20:06 | #62
  63. September 18th, 2009 at 22:11 | #63
  64. September 20th, 2009 at 02:51 | #64
  65. September 29th, 2009 at 05:10 | #65
  66. October 1st, 2009 at 08:58 | #66
  67. October 3rd, 2009 at 07:21 | #67
  68. October 5th, 2009 at 22:29 | #68
  69. October 6th, 2009 at 19:13 | #69
  70. October 12th, 2009 at 05:13 | #70
  71. November 4th, 2009 at 19:39 | #71
  72. November 12th, 2009 at 13:23 | #72
  73. November 29th, 2009 at 07:06 | #73
  74. December 2nd, 2009 at 08:43 | #74
  75. December 6th, 2009 at 23:42 | #75
  76. December 7th, 2009 at 06:54 | #76
  77. December 18th, 2009 at 14:17 | #77
  78. December 27th, 2009 at 20:54 | #78
  79. January 4th, 2010 at 16:48 | #79
  80. January 8th, 2010 at 22:03 | #80
  81. January 15th, 2010 at 15:34 | #81
  82. January 18th, 2010 at 23:46 | #82
  83. January 20th, 2010 at 06:09 | #83
  84. January 23rd, 2010 at 09:44 | #84
  85. January 31st, 2010 at 16:34 | #85
  86. February 5th, 2010 at 19:54 | #86
  87. February 5th, 2010 at 20:02 | #87