Twitter botが作りたい。
普通は始めに覚えるんだろうけど、TwitterAPI(Twitter4j-2.1.8)を使ってのサンプル。
ツイートするとか、する前に、どーするか
クラスパスのルートに、twitter4j.propertiesを作って入れてあげる。ぼくのツイッターIDはarcanum_jpなので、こうなる。
id=arcanum_jp oauth.consumerKey=XXXXXXXXXXXXXXXXXXX oauth.consumerSecret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
追記:2010/12/17
上のidを書いてしまうとBASIC/xAuth認証をしようとするので、書かないほうがいいね!
Twitterクラスのインスタンスを取得する。new Twitter(...)は非推奨らしいので、ファクトリクラスを使用する。ファクトリクラスには例のAccess tokenを入れてあげる。
TwitterFactory tf = new TwitterFactory(); AccessToken at = new AccessToken("**取得したACCESS_TOKEN**", "**取得したACCESS_TOKEN_SECRET**"); Twitter tw = tf.getOAuthAuthorizedInstance(at); ... // つい〜と tw.updateStatus("今日も元気だお酒がうまい"); // ダイレクトメッセージ tw.sendDirectMessage("arcanum_jp", "こんにちは、あいかわらず変ですね。www"); // フォローする tw.createFriendship("arcanum_jp"); // フォロー解除する tw.destroyFriendship("arcanum_jp");
追記:2010/12/17
プロパティファイルでヤル必要がないんであれば。プログラム上から入れてしまうのもアリらしい
ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setOAuthConsumerKey(取得したCONSUMER_KEY) .setOAuthConsumerSecret(取得したCONSUMER_SECRET) .setOAuthAccessToken(取得したACCESS_TOKEN) .setOAuthAccessTokenSecret(取得したACCESS_TOKEN_SECRET).setDebugEnabled(true); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter tw = tf.getInstance();