Twitter 4j - 按用户ID获取推文 - 处理

时间:2015-03-10 21:42:33

标签: twitter processing twitter4j

似乎有许多不同的教程和示例允许将推文从一个特定用户拉入Processing。

然而,我仍然无法使代码工作。我已经设法通过使用hashtags搜索来获取推文,因此twitter4j库(最新版)在Processing(也是最新软件)中工作。我还是一个完整的编码新手...

我发现以下代码可以完全满足我的需要,但遗憾的是它并不完整,我假设您需要声明您的消费者密钥和访问令牌......但是我不知道如何使用此代码执行此操作。这是某人能够提供和解释的东西吗?

基本上,我需要完整的草图......非常感谢任何帮助!

来自其他地方的代码:



  final Twitter twitter = new TwitterFactory().getInstance();
    twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);
    AccessToken accessToken = new AccessToken(TWITTER_TOKEN,
            TWITTER_TOKEN_SECRET);
    twitter.setOAuthAccessToken(accessToken);
    try {
        Status status = twitter.showStatus(Long.parseLong(tweetID));
        if (status == null) { // 
            // don't know if needed - T4J docs are very bad
        } else {
            System.out.println("@" + status.getUser().getScreenName()
                        + " - " + status.getText());
        }
    } catch (TwitterException e) {
        System.err.print("Failed to search tweets: " + e.getMessage());
        // e.printStackTrace();
        // DON'T KNOW IF THIS IS THROWN WHEN ID IS INVALID
    }




编辑:这就是我添加消费者/访问密钥的方式 - 这是对的吗?

 twitter.setOAuthConsumer("MyConsumerKey", "MyConsumerSecret");
AccessToken accessToken = new AccessToken("MyAccessToken", "MyAccessTokenSecret");
twitter.setOAuthAccessToken(accessToken);

EDIT2:这就是我现在收到用户推文的内容。但产生了错误:'无法从ResponseList转换为Status'

    String user="USER ID";

final Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer("MY CONSUMER KEY", "MY CONSUMER KEY SECRET");
AccessToken accessToken = new AccessToken("MY TWITTER TOKEN", "MY TWITTER     TOKEN SECRET");
twitter.setOAuthAccessToken(accessToken);
try {

    Status status = twitter.getUserTimeline(user); 
    if (status == null) { // 
        // don't know if needed - T4J docs are very bad
    } else {
        System.out.println("@" + status.getUser().getScreenName()
                    + " - " + status.getText());

    }
} catch (TwitterException e) {
    System.err.print("Failed to search tweets: " + e.getMessage());
    // e.printStackTrace();
    // DON'T KNOW IF THIS IS THROWN WHEN ID IS INVALID
}

1 个答案:

答案 0 :(得分:0)

首先需要创建一个Twitter应用程序,然后转到https://apps.twitter.com/,从那里可以获得获取凭据所需的所有信息。

在您的代码中

只需替换' CONSUMER_KEY'' CONSUMER_KEY_SECRET'访问令牌'访问令牌密码'凭证。

ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true)
                .setOAuthConsumerKey("XXXXX")
                .setOAuthConsumerSecret("XXXXXX")
                .setOAuthAccessToken("XXXX-XXXXX")
                .setOAuthAccessTokenSecret("XXXXXXX");
希望这有帮助!