#まずはアクセストークンの取得
アクセストークンの取得法などについては、phpだけど↓↓のサイトが、準備の流れやOAuthの仕組みがわかりやすい
Twitter APIの使い方まとめ
OAuth1.0の署名(Signature)を作成する方法
#とりあえず呟いてみる
まんまここを見て書いた
KinokoTwitterClient.java
package jp.kinokodata;
import twitter4j.*;
import twitter4j.conf.*;
/**
* Created by superkinoko on 2016/11/19.
*/
public class KinokoTwitterClient {
private Twitter twitter;
public static void main(String[] args) {
KinokoTwitterClient tweet = new KinokoTwitterClient();
tweet.doHogehoge();
}
private void doHogehoge() {
getTwitter();
twitter.updateStatus("てすと");
}
private void getTwitter() {
if(twitter == null) {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("yourConsumerKey")
.setOAuthConsumerSecret("yourConsumerSecret")
.setOAuthAccessToken("yourhAccessToken")
.setOAuthAccessTokenSecret("yourAccessTokenSecret");
TwitterFactory tf = new TwitterFactory(cb.build());
twitter = tf.getInstance();
}
}
}
#ツイートの検索をしてみる
QueryにTwitterの検索クエリを入れてあげると、ツイートが検索できる。
KinokoTwitterClient.java
private void doHogehoge() {
getTwitter();
Query query = new Query();
query.setQuery("from:hyperkinoko");
// 検索件数。setRppはなくなったもよう
query.setCount(100);
QueryResult result = null;
try {
result = twitter.search(query);
} catch (TwitterException e) {
e.printStackTrace();
}
Iterator itr = result.getTweets().iterator();
while (itr.hasNext()) {
Status status = (Status)itr.next();
System.out.println(status.getText() + "リツイート: " + status.getRetweetCount());
}
}
#Streamを取得してみる
Listenerをaddして、Status(ツイート)を取得すると反応するようになった
動きのある画面はまさにTwitterのTLっぽい
sampleというのはアレだ、化粧品のサンプルとかそういう意味じゃなくて、標本抽出の意味だね
ここを参考にして、filterをかけてみた
KinokoTwitterClient.java
private void doHogehoge() {
getTwitterStream();
twitterStream.addListener(new MyTweetListener());
FilterQuery filterQuery = new FilterQuery();
filterQuery.track(new String[] {"#IPPONGP"});
twitterStream.filter(filterQuery);
// twitterStream.sample("ja");
}
private void getTwitterStream() {
if(twitterStream == null) {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("yourConsumerKey")
.setOAuthConsumerSecret("yourConsumerSecret")
.setOAuthAccessToken("yourhAccessToken")
.setOAuthAccessTokenSecret("yourAccessTokenSecret");
TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());
twitterStream = tf.getInstance();
}
}
class MyTweetListener extends StatusAdapter {
@Override
public void onStatus(Status status) {
System.out.println(status.getText());
}
}