Twitterで自分自身にダイレクトメッセージを送るJavaプログラム
Twitter4J のバージョン2.1.8を利用。
以下ソースコード。
import java.io.FileInputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import twitter4j.Twitter; import twitter4j.TwitterException; import twitter4j.TwitterFactory; import twitter4j.conf.PropertyConfiguration; /** * 1行で自分にダイレクトメッセージを送れるようにするためのクラス * * @author phithon * */ public class TwitterReporter { /** * 自分自身に送信時間付きでダイレクトメッセージを送信します。 * * @param configFilePath twitter4j用設定ファイルのパス * @param message 送信するメッセージ * @throws IOException ファイルの読み込みに失敗した場合 * @throws TwitterException メッセージの送信に失敗した場合 */ public static void sendDMToMyself(String configFilePath, String message) throws IOException, TwitterException { FileInputStream fis = null; Twitter api = null; try { fis = new FileInputStream(configFilePath); api = new TwitterFactory(new PropertyConfiguration(fis)).getInstance(); } finally { if (fis != null) { fis.close(); } } // 末尾に送信時間を加える(メッセージ重複対策を兼ねる) String dateString = new SimpleDateFormat(" (yyyy/MM/dd HH:mm:ss)").format(new Date()); api.sendDirectMessage(api.getId(), message + dateString); } public static void main(String[] args) throws IOException, TwitterException { TwitterReporter.sendDMToMyself("./config/twitter.ini", "test"); } }
./config/twitter.ini という名前で以下の形式のファイルを準備
debug = true oauth.consumerKey = ******************** oauth.consumerSecret = ******************** oauth.accessToken = ******************** oauth.accessTokenSecret = ********************
実行すると
test (2010/12/16 15:54:37)
という感じで自分自身にDMが送れるようになる。
時間のかかるプログラムの終了部分などに書いておけば多分便利。