Movable Type用OAuth対応Twitter投稿プラグイン PostTwiOAuth
いままでMovable TypeからTwitterに記事タイトルを投稿するのに
エムロジック放課後プロジェクトさんのPostToTwitterプラグイン
http://labs.m-logic.jp/2009/12/movabletypeposttotwitter_v200.html
を利用させて頂いていたのだがTwitterの投稿時、ベーシック認証なので今後利用できない可能性が出てきた。
そこでOAuth認証でTwitterに投稿するプラグイン「PostTwiOAuth」を作ってみた。
筆者の環境にはすでにNet::TwitterをインストールしてあるのでNet::Twitterを使った方がずっと便利なのだが一般のレンタルサーバーではほとんど利用不可なので(XREAでは利用できるらしい)Movable Typeのextlib/NetにあるOAuth.pmを使って認証を行っている。(Net::OAuth)
特徴及び利点として
- Twitter投稿時はOAuth認証
- OAuth認証なのでAPI制限が緩和される(Tweetポストでは関係ないですが)
- Twitterの記事に「from アプリケーション名」が表示される
- bit.ly APIによる短縮URL対応
- Twitterのパスワードを平文でDBに記録しなくていい!
動作環境:
Movable Type 5.0以上推奨。
Movable Type 4.26-4.27でも動作確認済み
(4.26-4.27の場合はOAuthディレクトリ、OAuth.pmをMT5の分と入れ替え必要)
必須モジュール:Digest::SHA1(mt-check.cgiにて確認要)
Movable Type 4.26-4.27での必要作業(OAuth入れ替え)
※Movable Type 5.0以上の場合はこの作業は必要ない。
※他にOAuth.pmを利用しているアプリ、プラグインを利用している場合は不可。
※入れ替えにより不具合が生じても当方は一切責任を負いません。自己責任で。
1.Movable Type 5のソースをダウンロード
2.現在利用しているMovable Type 4.26-4.27のextlib/NetにあるOAuthディレクトリ、OAuth.pmをリネーム
3.MT5を解凍してextlib/NetにあるOAuthディレクトリ、OAuth.pmをMovable Type 4.26-4.27の同じ所へコピーして入れ替え。
上記作業完了後、下記へ
1.PostTwiOAuthプラグイン設置
ダウンロードした圧縮ファイルを解凍後、「plugins」ディレクトリにある「PostTwiOAuth」をディレクトリごとMovable typeアプリケーションディレクトリ直下の「plugins」にアップロードする。
PostTwiOAuth内「callback.cgi」「oauth.cgi」「post_test.cgi」のパーミッションを実行形式に
(環境にあわせて:755 or 705 or 700)
2.設定
設置するブログ(システムメニューではない)の「ツール」「プラグイン」「PostTwiOAuth 0.1」の「設定」で
■Twitterでアプリケーション登録
Get Consumer keyの
Register an ApplicationリンクをクリックしてTwitterでアプリケーション登録。
Application Name:
アプリケーション名(Twitterに表示される)適当に(日本語でもOK)
Description:
アプリの説明。適当に(30文字以上)
Application Website:
アプリのURL。適当に(blogのトップでも)
あなたの招待状 :
Browser を選択(2010.03.051現在、日本語訳が変!)
Callback URL:
プラグイン設定画面でCallback URLのURL(必ずhttpで始まるURLで)
※mt-config.cgiから読み込みのためURI(絶対パスのみ)の場合があるので必ずURLで!
Default Access type:
Read & Writeを選択
Use Twitter for login:
このプラグインでblog投稿のみの利用であれば不要。
保存すると
Consumer keyとConsumer secretが取得できる。
■Consumer key、secretの設定
Consumer keyとConsumer secretをプラグイン設定画面に入力
Callback URLはアプリ登録と同じURL
ここで一旦「変更を保存」で保存する。
■Twitterでアプリ認証
再度、PostTwiOauthの設定をクリック。
Your Consumer key、Your Consumer secret、Callback URLが入力されているのを確認後、Get Access tokenのリンクをクリック。
※Callbackされた時に必要なためここで一時クッキーでblogid,request token,request secretを設定しているので必ずブラウザーのクッキーは有効に(プラグイン設定ブログサイト)
Twitterの「アプリケーションが、あなたのアカウントへの接続を要求しています。」
という画面が表示されるので「許可する」をクリック。
設定したCallback URLにリダイレクトされ
Get Access Token Success!
と表示されたらOK.
Access TokenとAccess Token secretをプラグイン設定画面に入力
ここでも一旦「変更を保存」で保存する。
■Twitterへ投稿テスト
再度、PostTwiOauthの設定をクリック。
Your Twitter Access token、Your Twitter Access secretが入力されているのを確認後、Test post with your OAuth tokenのリンクをクリック。
Post to Twitter Success!
という画面が表示され、Twitterに
「PostTwiOauth:設定テスト ランダムな数字」が投稿され
viaの後にアプリ登録時のアプリケーション名が表示されていればOK.
■CGIが実行できないようにする
重要!!!
無事Twitterに投稿出来ていれば
- callback.cgi
- oauth.cgi
- post_test.cgi
削除かリネーム若しくは実行権限削除してそのURLにアクセスされても動作しない状態に必ず設定する。
■bit.lyの設定
短縮URLのbit.lyのID、APIキーは必須なので
Your bit.ly name、Your bit.ly APIをそれぞれ入力。
無い場合はGet bit.ly accountで取得
■設定完了
必要であればAdd Hashtagも入力
「変更を保存」で保存する。
これで完了。
プラグインダウンロード
■2010.03.09 追記
バグ修正。Access Token取得及びテスト投稿のCGI
- callback.cgi
- oauth.cgi
- post_test.cgi
既にダウンロードしている方はPostTwiOauth 0.11に差し替えてください。
※尚、このプログラムで不具合が起こっても一切責任は負いません。
あくまで自己責任で。






