Going my way

いいなと思ったことをメモしていきます。

超簡単!Javaでツイートbotを作る手順まとめ


Advertisements


Javabotを作成しようと思い色々と調べてみたのだが、思ったよりずっと簡単であった。
しかし、やってみると簡単でも外から見ると難しそうに見えるかもしれない。
そんな誤解を解くために、手順を解説する。

あなたがツイートするまで1時間もかからないだろう。


【準備編】
■Developper登録
Javaでツイートするためには準備が必要だ。
まずTwitterにDevelopper登録する必要がある。
そして、
・Consumer key
・Consumer secret
Access token
Access token secret
という4つのパスワード的なものを手に入れる必要があるんだ。

https://dev.twitter.com/

「Create an app」をクリック

ページの内容はこんな感じ。
[Name]
君が作るアプリケーションの名前を教えてくれよ。
32文字以内でね。

[Description]
君のアプリの説明をしてくれないか?
10文字から200文字以内でね。

[Website]
ネットにつないでれば見れるような君のホームページを教えてくれないか?
そのホームページを見ればもっと君のアプリがわかるようなホームページのURLを頼む。
省略しないで書いてくれよ。もし君がホームページを持ってなかったら、とりあえずyahooやgoogleのURLを書いてね。
でも、あとで変更するのを忘れないように。

[callback URL]
認証に成功したらどこに結果を返せばいい?
とりあえずyahooやgoogleでもいいよ。

こんな感じだ。
f:id:go_my_own_way:20120805151817p:plain

上記を入力したら、

次に
・Consumer key
・Consumer secret

というのが出てくるから、それをしっかりメモしておこう。

その後、同じページの下の方にある
「Your access token」を見て欲しい。
ツイッターアプリを作るにはアクセストークンが必要だ。

Create my access tokenをクリック!

すると、
Access token
Access token secret
という情報が出てくると思う。
これをメモすれば準備は完了だ!

もし君が「Read-only」でいいならね。

自動でツイートしたいなら、まだやることはある。

Access level

というのがあるけど、これがRead-Onlyだと、読んで字のごとく読むことしかできないんだ。
君が僕のブログを読むだけなようにね。


書き込みたいと、思わないか?

Ok,書き込もう。

上にある「setting」をクリックしよう。
そこに

「Application Type」があるから、

このAccess

「Read, Write and Access direct messages」

にしよう。

で、一番下にある
Update this Twitter application's settingsをクリックするんだ。

次に、もう一度「Details」タブを選択。

一番下の、Recreate my access tokenをクリックしよう。

すると、Access tokenとAccess token secretがもう一度表示されるはずだ。

これをメモしておこう。

繰り返すけど、必要なのは4つ。
・Consumer key
・Consumer secret
Access token
Access token secret

これらを必ずメモしておくこと。



【Twitter4J】
次にTwitter4JというツイートするためのAPIを手に入れよう。
以下のサイトで手に入れることができる。
http://twitter4j.org/ja/index.html

ダウンロードして、中にあるjarのパスを通すんだ。

何?パスの通し方がわからない?

君は新人の時の俺みたいなやつだな。

eclipseでいいかな?

まず、プロジェクトを選んで、右クリックしてくれ。

次にプロパティーを選ぶ。

Javaのビルド・パスを選ぶ。

ライブラリータブを選択して、「外部Jarの追加」だ。

そこにさっきダウンロードしたzipの中にあるtwitter4j-code-***を選んでくれればいい。

【ツイート編】

あとは、下記のコードを書いて、実行するだけである。
ワイルドなほど簡単だ。ほぼコピペだけでいい。

package test;

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;

public class TweetTest {
	private static final String consumerKey = "ここにconsumer keyをコピペ!";
	private static final String consumerSecret = "ここにconsumer secretをコピペ!";
	private static final String accessToken = "ここにaccess tokenをコピペ!";
	private static final String accessTokenSecret = "ここにaccess token secretをコピペ!";
	//【重要】まずはこの内容でツイートしてみよう!
	private static final String tweet = "このブログ超面白いww→http://hogefuga.com/";
	
	public static void main(String[] args){
		//Twitterオブジェクトを参照する。Factoryパターンだ!
		Twitter twitter = new TwitterFactory().getInstance();
		twitter.setOAuthConsumer(consumerKey, consumerSecret);
		twitter.setOAuthAccessToken(new AccessToken(accessToken,accessTokenSecret));
		try{
			twitter.updateStatus(tweet);
			System.out.println("ツイートしたよw");
		} catch(TwitterException e){
			System.err.println("ツイート失敗"+e.getMessage());
		}
		
	}
}

twitterを確認してみよう。

「このブログ超面白いww→http://hoge.hoge.fuga.com/」

というツイートができているはずだ。



あとは、
・フォローしてくれた人に対してまとめてフォロー返しをしたり、
・タイムラインを取得したり
・キーワード検索したり、
そんな操作をちゃんと勉強したいならこの本を読みましょう。