【问题标题】:Getting User Tweets into Processing successfully - Twitter4j成功处理用户推文 - Twitter4j
【发布时间】:2015-05-15 05:19:48
【问题描述】:

使用以下代码和 twitter4j 库,我终于设法将我自己的推文放入 Processing。我现在一直在尝试调整代码以提取特定用户的推文,但没有任何运气,不管网上有多少人发布了“工作代码”。有人可以引导我正确并告诉我究竟需要改变什么吗?谢谢!

import twitter4j.util.*;
import twitter4j.*;
import twitter4j.management.*;
import twitter4j.api.*;
import twitter4j.conf.*;
import twitter4j.json.*;
import twitter4j.auth.*;
import java.util.*;

List<Status>statuses = null;

TwitterFactory twitterFactory;
Twitter twitter;

void setup() {     
  size(100, 100);    
  background(0); 

  connectTwitter();    
  getTimeline();  
}  

void draw() {     
  background(0);
}  

// Initial connection
void connectTwitter() {  
  ConfigurationBuilder cb = new ConfigurationBuilder();  
  cb.setOAuthConsumerKey("XXXX");
  cb.setOAuthConsumerSecret("XXXX");
  cb.setOAuthAccessToken("XXXX");
  cb.setOAuthAccessTokenSecret("XXXX"); 

  twitterFactory = new TwitterFactory(cb.build());    
  twitter = twitterFactory.getInstance();  

  println("connected");
} 

// Get your tweets
void getTimeline() {     
  try {        
    statuses = twitter.getUserTimeline();
  }   
  catch(TwitterException e) {         
    println("Get timeline: " + e + " Status code: " + e.getStatusCode());
  }     
  for (Status status:statuses) {               
    println(status.getUser().getName() + ": " + status.getText());
  }
}  

编辑 - 修改代码以获取用户推文。不会产生错误或结果...

void getUserTimeLine(long stephenfry) {
  try {
    ResponseList<Status> statuses = twitter.getUserTimeline(stephenfry);
  }
  catch(TwitterException e) {
    println("Get timeline: " + e + " Status code: " + e.getStatusCode());
  }
    for (Status status : statuses) {
        System.out.println(status.getText());
    }
}

【问题讨论】:

    标签: twitter processing twitter4j


    【解决方案1】:

    您只需在代码中添加以下内容即可检索任何用户时间线-

    void getUserTimeLine(long userID/*You can also use screenName*/) {
        ResponseList<Status> statuses = twitter.getUserTimeline(userID/*You can also use screenName*/);
        for (Status status : statuses) {
            System.out.println(status.getText());
        }
    }
    

    【讨论】:

    • 感谢您的回复!我将您的代码添加到我的代码中,但没有运气。我收到一个“Twitter Exception”错误,所以我将它包装在 try and catch 中。但是,尽管当我运行它时,我现在没有收到任何错误,我也没有收到任何特定用户的推文? - 我已将您修改后的代码添加为对原始帖子的编辑。有什么想法吗?
    • 没有 try/catch 的情况是什么异常?
    • 它是 - '未处理的异常类型 TwitterException' - 有什么想法吗?
    • 你使用的是什么版本的 twitter4j lib?
    • twitter4j 4.0.2 是我正在使用的版本。
    猜你喜欢
    • 1970-01-01
    • 2012-01-23
    • 2014-10-08
    • 2011-06-05
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    相关资源
    最近更新 更多