エディタから直接twitterに投稿する方法メモ
手元の環境でVxEditorからtwitterに直接投稿できるようにしてみたので、その方法を参考までにメモっておきます。
DMonkeyマクロを使っているのでVxEditorやJmEditorぐらいでしか動かないでしょうが、ほかのエディタでもマクロをいじれば簡単に似たようなことは出来るでしょう。
おおまかな手順
コマンドラインからtwitterに投稿できるphpスクリプトを用意。
まずはphpから簡単にtwitterAPIを利用できるPEARライブラリServices_Twitterをインストール。
そんで以下のコードを保存。
<?php //post_twitter.php require_once 'Services/Twitter.php'; $user = 'twitterのID'; $pass = 'twitterのパスワード'; $st = new Services_Twitter($user, $pass); array_shift( $argv); $msg = mb_convert_encoding( implode( ' ', $argv), 'UTF-8', 'SJIS,UTF-8,EUC-JP'); if( preg_match( '/^\s*$/', $msg) === 1) return; $st->setUpdate( $msg);
$userと$passには自分のIDとパスを入れてください。
たったこれだけのコードですが、このスクリプトに引数を渡すと、それをそのままtwitterに投稿してくれます。
VxEditorから使えるように、上のスクリプトに文字列を渡すDMonkeyマクロを用意。
次はこのコードを保存。
// post_twitter.dms var e = new Editor(); var msg = prompt( 'twitterに投稿します', e.SelText ? e.SelText : e.GetLineString( e.Row)); if( msg == null || msg.match( /^\s*$/) ) return; // 前述のphpスクリプトの引数に文字列を渡して起動。 // スクリプトのpathは環境に合わせて設定してください。 var cmd = "php C:/twitter_client/post_twitter.php " + msg; new ActiveXObject('WScript.Shell').Run( cmd,0);
promptの第二引数はお好みで設定してください。
上のコードでは、選択文字列かキャレットのある行の文字列を自動的に入力するようになっています。