如何使用java中的TwitterAPI获取从去年到现在的推文?

如何使用java中的TwitterAPI获取从去年到现在的推文?,java,api,twitter,Java,Api,Twitter,我已经编写代码,使用搜索tweet从特定位置查找特定tweet。但我想知道从去年到现在发布的推特。我今天刚从最新的推特上得到结果。如何修改我的代码?这是我使用java和twitter4j-core-3.0.5.jar编写的代码 import twitter4j.GeoLocation; import twitter4j.Query; import twitter4j.QueryResult; import twitter4j.Status; import twitter4j.Twitter; i

我已经编写代码,使用搜索tweet从特定位置查找特定tweet。但我想知道从去年到现在发布的推特。我今天刚从最新的推特上得到结果。如何修改我的代码?这是我使用java和twitter4j-core-3.0.5.jar编写的代码

import twitter4j.GeoLocation;
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;

public class TweetFromParticularLocation {



    public static void main(String[] args) {
//        Twitter twitter= new TwitterFactory().getInstance();
//      
//      twitter.setOAuthConsumer(TWITTER_CONSUMER_KEY, TWITTER_SECRET_KEY);
//      twitter.setOAuthAccessToken(new AccessToken(TWITTER_ACCESS_TOKEN,TWITTER_ACCESS_TOKEN_SECRET));

        String CONSUMER_KEY = "key";
          String CONSUMER_KEY_SECRET = "key";

        Twitter twitter= new TwitterFactory().getInstance();

        twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);

        String accessToken = "key";
        String accessTokenSecret = "key";
        twitter.setOAuthAccessToken(new AccessToken(accessToken,accessTokenSecret));

        try {
            Query query = new Query("#jumatberkah"); //kalau tweet nya kososng, maka outputnya terminated

            //-6.914744, 107.609810 -- latitude, longitude bandung
            //-6.2115, 106.8452 -- latitude, longitude jakarta
          //-.7893, 113.9213  -- latitude, longitude indonesia

            GeoLocation location = new GeoLocation(-6.2115, 106.8452); //latitude, longitude
            String unit = Query.MILES; // or Query.MILES;  Query.KILOMETERS;
            query.setGeoCode(location, 1, unit); //location, radius, unit

            QueryResult result; 

            do {
                result = twitter.search(query);
                List<Status> tweets = result.getTweets();

                for (Status tweet : tweets) {
                    System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText()+"\n");
                }

            } while ((query = result.nextQuery()) != null);

        } catch (TwitterException te) {
            System.out.println("Failed to search tweets: " + te.getMessage());
            System.exit(-1);
        }

    }

}
导入twitter4j.GeoLocation;
导入twitter4j.Query;
导入twitter4j.QueryResult;
导入twitter4j.状态;
导入twitter4j.Twitter;
导入twitter4j.TwitterException;
导入twitter4j.TwitterFactory;
导入twitter4j.auth.AccessToken;
公共类TweetFromSpecialLocation{
公共静态void main(字符串[]args){
//Twitter=new TwitterFactory().getInstance();
//      
//setOAuthConsumer(twitter\u CONSUMER\u KEY,twitter\u SECRET\u KEY);
//setOAuthAccessToken(新的AccessToken(twitter\u ACCESS\u TOKEN,twitter\u ACCESS\u TOKEN\u SECRET));
字符串CONSUMER_KEY=“KEY”;
字符串CONSUMER\u KEY\u SECRET=“KEY”;
Twitter=new TwitterFactory().getInstance();
setOAuthConsumer(CONSUMER\u KEY,CONSUMER\u KEY\u SECRET);
字符串accessToken=“key”;
字符串accessTokenSecret=“key”;
setOAuthAccessToken(新的AccessToken(AccessToken,accessTokenSecret));
试一试{
Query Query=new Query(“#jumatberkah”);//kalau tweet nya kososng,maka outputnya终止
//-6.914744107.609810——经纬度万隆
//-6.2115106.8452——雅加达经纬度
//-.7893113.9213——印度尼西亚经纬度
地理位置=新地理位置(-6.2115106.8452);//纬度,经度
字符串单位=Query.MILES;//或Query.MILES;Query.km;
query.setGeoCode(位置,1,单位);//位置,半径,单位
查询结果;
做{
结果=twitter.search(查询);
List tweets=result.getTweets();
用于(状态推文:推文){
System.out.println(“@”+tweet.getUser().getScreenName()+”-“+tweet.getText()+”\n”);
}
}while((query=result.nextQuery())!=null);
}捕获(twitter异常){
System.out.println(“未能搜索tweets:+te.getMessage());
系统退出(-1);
}
}
}

推特只提供一周(7天)的推特样本。如果你需要再往回搜索,你需要使用Twitter上的广告

哦,是吗?我已经知道。。。那么,我如何使用Gnip历史API?你有一个示例吗?你能给我一个使用Gnip历史API或教程链接@andypiper的示例代码吗?Gnip支持页面上有一系列示例。如何将此api用于我的java代码?这和Twitter4j一样吗?我应该制作一个accsess令牌来使用这个gnip@andypper吗?gnip是一个付费产品,所以您需要与他们联系以了解定价和访问详细信息。它与Twitter4j不同,但看起来Gnip4j可能是一种替代方案。