如何使用twitter4j获取用户时间线的完整推文?

时间:2018-01-02 05:32:50

标签: java twitter twitter4j

我想使用java库twitter4j从某些用户时间线获取推文,目前我的源代码可以从用户时间线获得~3200条推文,但我无法得到完整的推文。我在互联网上搜索各种来源,但我无法找到解决问题的方法。任何人都可以帮助我,或者任何人都可以通过java编程从用户时间线获得完整的推文替代?

我的源代码:

re.sub(r'F3.Compute.', '',s)

更新 在@AndyPiper给出答案之后

我的问题是我收到的每条推文都会被截断或不完整。如果推文的长度超过140个字符,我得到的推文将被截断。我找到了引用tweet_mode=extended,但我不知道如何使用它。如果你有所了解请告诉我。

4 个答案:

答案 0 :(得分:2)

您的配置应该是这样的:

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
  .setOAuthConsumerKey("aaa")
  .setOAuthConsumerSecret("aaa")
  .setOAuthAccessToken("aaa")
  .setOAuthAccessTokenSecret("aaa")
  .setTweetModeExtended(true);

很好地解释了here

答案 1 :(得分:0)

Twitter API将时间线历史记录限制为3200条推文。要获得更多,您需要使用(商业)高级或企业API来搜索特定用户的推文。

答案 2 :(得分:0)

如果您正在流式传输推文

拳头:你必须添加 .setTweetModeExtended(true);进入你的配置构建器

第二个(这里是代码)

       TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
    StatusListener listener = new StatusListener(){
        public void onStatus(Status status) {

            System.out.println("-------------------------------");

            if(status.isRetweet()){
                System.out.println(status.getRetweetedStatus().getText());
            }
            else{
                System.out.println(status.getText());
            }`

它完全适合我。 照顾好自己:)

答案 3 :(得分:-1)

如果要使用twitter4j.properties文件实现twitter api并获取截断的时间轴文本值,只需在末尾添加以下属性。 tweetModeExtended = TRUE