import twitter4j.IDs;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.ResponseList;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.User;
import twitter4j.api.HelpResources;
import twitter4j.api.TweetsResources;
import twitter4j.api.UsersResources;
public class Main2 {
private Twitter twitter;
public Twitter getTwitter() {
return twitter;
}
public void setTwitter(Twitter twitter) {
this.twitter = twitter;
}
static final String DEFAULT_WORD = "購入";
static String word = DEFAULT_WORD;
public static void main(String[] args) throws TwitterException, InterruptedException {
// 初期化
Twitter twitter = new TwitterFactory().getInstance();
Query query = new Query();
query.setLang("ja");
int tweetCount = 0;
// 検索ワードをセット
query.setQuery(word);
// 1度のリクエストで取得するTweetの数(100が最大)
// query.setCount(100);
query.setSince("2016-01-01");
query.setUntil("2016-01-14");
TweetsResources tweets = twitter.tweets();// TweetsResourceオブジェクトを作成
UsersResources users = twitter.users();// UsersResourcesオブジェクトを作成
HelpResources helps = twitter.help();// HelpResourcesオブジェクトを作成
try {
QueryResult result = twitter.search(query);
for (Status tweet : result.getTweets()) {
// String str = tweet.getText();
if(tweet.getRetweetCount()>1 && tweet.getRetweetCount()<101)
{
System.out.println("日時:"+tweet.getCreatedAt());
System.out.println("ID:"+tweet.getId());
System.out.println("RT数:"+tweet.getRetweetCount());
IDs retweeters = tweets.getRetweeterIds(tweet.getId(), -1);
long[] retweetIDs = retweeters.getIDs();// リツイートユーザのIDを取得(2)
ResponseList<User> retweet_users = users.lookupUsers(retweetIDs);
System.out.println("@" + tweet.getUser().getName() + ", tweet: " + tweet.getText());
// リツイートユーザ情報表示
System.out.println("retweet_user_info: ");
for(User retweet_user: retweet_users){
System.out.println("@" + retweet_user.getName() + ", ID: " + retweet_user.getId());
}
}
}
}catch (TwitterException e) {// エラー処理
e.printStackTrace();
System.out.println("失敗");
}
}
}
このプログラムなのですが、結果がうまく出力されません。どのように改善すれば出力されるでしょうか?
-------------------------------------------以下出力結果--------------------------------------------------------------------------------------
日時:Thu Jan 14 08:59:58 JST 2016
ID:687423874590486528
RT数:80
404:The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method.
message - No user matches for specified terms.
code - 17
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=6df1b39e or
http://www.google.co.jp/search?q=2c1e10aaTwitterException{exceptionCode=[6df1b39e-2c1e10aa], statusCode=404, message=No user matches for specified terms., code=17, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=179, limit=180, resetTimeInSeconds=1452760148, secondsUntilReset=981}, version=4.0.3}
at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:163)
at twitter4j.HttpClientBase.request(HttpClientBase.java:53)
at twitter4j.HttpClientBase.get(HttpClientBase.java:71)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1562)
at twitter4j.TwitterImpl.lookupUsers(TwitterImpl.java:751)
at Main2.main(Main2.java:70)
失敗
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 3.043s
Finished at: Thu Jan 14 17:12:46 JST 2016
Final Memory: 6M/155M
------------------------------------------------------------------------