« Movable Type用DataAPI Disablerプラグイン v1.0 | メイン | Movable Type用FastThumbnailプラグイン »

MovableType用PostTweetプラグイン v1.1.7

PostTweetプラグインのバージョンアップを行いました。変更点は次の通りです。

  • プレビュー機能において、カテゴリとタグが反映されるようにした
  • メッセージフォーマットのビルド時にテンプレートエラーが発生した場合、エラーメッセージをログに出力するようにした
PostTweet

プラグインの動作条件は次の通りです。

  • Movable Type(MTOSを含む) バージョン4.1以上
  • 追加のPerlモジュール
    • Digest::SHA1
    • Crypt::SSLeayもしくはIO::Socket::SSL
    • LWP (ほとんどのMovable Typeに同梱されています)

ぜひ、お試しください。

ドキュメント:PostTweetプラグイン ドキュメント
ダウンロード:zip形式tar.gz形式

本プラグインは、GPLv2と独自ライセンスのデュアルライセンスにて公開されます。

MTで使用する場合
無償で利用できます。ただし、著作権者の許可なく本プラグインを改変、再配布することはできません。(本条件に従えない場合には有償ライセンスの用意がありますのでそちらをご検討ください)
MTOSで使用する場合
GPLv2に従います。

また本プラグインは、Movable Typeプラグイン販売サイト「3rdFocus」において、有償版となる「PostTweet+」プラグインのライセンスの提供を行っております。当サイトにおけるライセンスを選択いただけない場合やカスタマイズしてご利用されたい場合は、ぜひご検討ください。
Movable Typeプラグイン販売サイト 3rdFocus

お問い合わせ

エムロジック株式会社ではMovable Typeによるサイト構築やプラグイン開発、iPhone・Windows等のアプリケーション開発業務を行っています。
お問い合わせはこちらまで。

コメント (11)

田中:

MT 6.0.3 を WebArena SuiteX にインストールして御プラグインを試しているのですが、認証にたどり着けなくて困っております。

twitterから応答を得られません。(get_authorization_url)

が出ます。以前のバージョンで同様の質問があったので、潤に確認したのですが、Proxyの設定もなく、他のプラグインを無効にしてもだめだったので、ログを取ったんですが、エラーらしきものとして

Can't locate Win32.pm in @INC

のようなものが出るのですが、何か対応方法はありますでしょうか?(ログがかなり長いので、必要であれば全部コピペさせていただきます。)

お世話になります。

xserver の自動インストールの MTOS 5.2.1 で、いくつかのドメイン別にインストールしたブログを開いています。
今までのブログでは問題なくインストールでき、大変便利にさせていただいています。

今回新しく開いたブログに入れたところ、アップグレードは問題なく進んだのですが、設定画面で
Authentication : Your server does not have the required modules installed : PostTweet::OAuth::Simple
と表示されます。

もう一度入れ直したのですが同じでした。2回目はアップグレードは働かず、設定画面では同じ表示が出ました。そのため手動で必要な書類をほかのドメインを見習ってサーバに入れましたが、同じ表示のままです。


一日おいて、 PhpMyadmin で MySQL 5 に入り plugin data から PostTweet とある2つを削除し、システム画面で無効にし、ftp で削除し、再度インストールしたのですが、アップグレードは働かず、 PhpMyadmin での新しいテーブルは出来ず、pluginn 設定画面では
Authentication : Your server does not have the required modules installed : PostTweet::OAuth::Simple
と同じ表示が出ます。
また、サーバ上にはその指定の書類はありません。

もしよろしければ、どのようなことが問題でこの症状が出ているか、また、考えられる対応をご伝授願えないでしょうか。

よろしくお願いします。
 

横町:

事故解決しました。
Ver 1.1.6 を入れてエラーが表示されなくなり、再度 1.1.7 を入れたらそれもエラーが出なくなりました。お騒がせしました。

小野:

お世話になっております。

上記の田中さまと同じく、MT 6.0.3 にてOAuthによる認証を行おうとすると、

「twitterから応答を得られません。(get_authorization_url)」

というエラーが出ます。

解決策ございませんでしょうか。

tamura:

PostTweetプラグイン v1.1.7をMT 4.292で利用しています。
今月にようやくMTを6.2へバージョンアップしたのですが、次のエラーが出るようになりました。

PostTweet: Twitterへの投稿に失敗しました。(twitterから応答を得られません。(POST on https://api.twitter.com/1.1/statuses/update.json failed: 500 Can't connect to api.twitter.com:443 (Crypt-SSLeay can't verify hostnames) - Can't connect to api.twitter.com:443 (Crypt-SSLeay can't verify hostnames) Net::SSL from Crypt-SSLeay can't verify hostnames; either install IO::Socket::SSL or turn off verification by setting the PERL_LWP_SSL_VERIFY_HOSTNAME environment variable to 0 at ~extlib/LWP/Protocol/http.pm line 51. at ~plugins/PostTweet/posttweet.pl line 587 ) )

OAuth認証を再度行おうとすると、"twitterから応答を得られません。(get_authorization_url)"となります。

MT4.292でのOAuth認証のやり直しは成功します。
また、MT5.2.14をクリーンインストールではOAuth認証が成功し、MT6.1.2/MT6.2クリーンインストールでは失敗します。

PostTweetの必須モジュールの各バージョンは次の通りです。
Digest::SHA1 2.11
Crypt::SSLeay 0.51
IO::Socket::SSL なし
LWP::UserAgent 6.05
OpenSSLは都合により0.9.8系であるためTLS1.0となります。

MT4.292からMT6.2へバージョンアップしたため全てのブログがウェブサイトとなっているのがダメかもと思い、クリーンインストールではウェブサイト/ブログの両方を試しましたがOAuth認証で(get_authorization_url)が戻ります。

解決策はございませんでしょうか。

なお、最初次のログが出力されていたのですが
> Can't locate Win32.pm in @INC
lib/PostTweet/OAuth/Simple.pmの296行目をコメントアウトし冒頭のエラーを確認しました。

以上 よろしくお願いいたします。

tamura:

自己解決しました。
MT6へバージョンアップで同様の状況となった記事を見つけ、
IO::Socket::SSLをインストールで動作するようになりました。

MT5.2まではCrypt::SSLeay、MT6からはIO::Socket::SSLが使われているようです。

>tamuraさま

ご報告ありがとうございます。

lib/PostTweet/OAuth/Simple.pmの296行目の件はこちらのミスになります。
近日中にアップデートを実施したいと思います。
それまではお知らせいただいた通りで296行目の削除をお願いします。

IO::Socket::SSLについてもお知らせいただいた通りでして、こちらについてはなにかしらプラグイン側でフォローできないか検討したいと思います。

ありがとうございました。

ほりこし:

お世話になっております。
MT4.27-ja にメールで投稿しているのですが、メール投稿時にPostTweetを動作させる手段はないものでしょうか?
メール投稿はmail2entry.pl(かなり古いものです)を使い、pingなどもそこから叩くようにしています。

よろしくお願いいたします。

>ほりこしさま
コメントありがとうございます。
おそらくmail2entry.pl側での対応が必要かと思います。

PostTweetは記事(entry)保存時にMovable Typeのコールバックを用いてツイートの送信処理を行いますので、、mail2entry.pl側で記事の保存を行ってから再構築までの間にapi_post_save.entryなどのコールバックを実行していただければ、ツイートできるのではないかと思います。

正常な動作をお約束することはできないのですが記事保存($entry->save)から再構築($mt->rebuild_entry)までの間に

MT->run_callbacks('api_post_save.entry', MT->instance, $entry, $entry->clone);

この1行を加えればコールバックが動くかと思います。
ただ、このコールバックを用いる他のプラグインも動作することになりますのでご注意ください。

ほりこし:

素早いご回答有り難う御座います。
さっそくmail2entry.plを修正したところ、PostTweetを動作させる事が可能となりました。

有り難う御座いました。

タケロ:

MT 6.0.3 を使用しています。

プラグインの設定までは問題なくできたのですが、
投稿を行うと、
Cannot find column 'post trigger' for class 'MT::Entry'
というエラーが出て、ツイッターへの連携ができません。
何か原因がありますでしょうか。

コメントを投稿