【问题标题】:Twitter 4j - Get tweets by user ID - ProcessingTwitter 4j - 按用户 ID 获取推文 - 处理
【发布时间】:2015-05-12 12:50:26
【问题描述】:

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

但我仍然无法让任何代码正常工作。我已经设法通过使用主题标签搜索来获取推文,因此 twitter4j 库(最新)正在处理(也是最新软件)中工作。我还是一个完整的编码新手...

我找到了以下代码来完全满足我的需要,但不幸的是它并不完整,我假设您需要声明您的使用者密钥和访问令牌...但我不知道如何使用此代码执行此操作。这是有人能够提供和解释的吗?

基本上,我需要完整的草图...任何帮助将不胜感激!

其他地方的代码:

  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:这就是我现在要获取用户推文的内容。但是产生了错误:'cannot convert from ResponseList to 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
}

【问题讨论】:

    标签: twitter processing twitter4j


    【解决方案1】:

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

    在您的代码中,只需将“CONSUMER_KEY”、“CONSUMER_KEY_SECRET”、“Access Token”、“Access Token Secret”替换为凭据即可。

    ConfigurationBuilder cb = new ConfigurationBuilder();
            cb.setDebugEnabled(true)
                    .setOAuthConsumerKey("XXXXX")
                    .setOAuthConsumerSecret("XXXXXX")
                    .setOAuthAccessToken("XXXX-XXXXX")
                    .setOAuthAccessTokenSecret("XXXXXXX");
    

    希望对您有所帮助!

    【讨论】:

    • 嗨穆尼尔埃尔法西!尝试添加密钥。但现在我收到一条错误消息:找不到任何名为“tweetID”的东西此外,我已将代码的修改部分添加到原始帖子中。这是添加键的正确方法吗?
    • 我的错!刚刚意识到,您可以在这里输入推文的 ID 并将该特定推文放入处理中。但是,如何删除这部分以及将用户 ID 放在哪里? :)
    • 如果问题已解决,您必须将其标记为“已解决”,以获取用户 ID,在此网站中输入用户名gettwitterid.com
    • 我已经编辑了如何使用凭据的答案,XXXX 是它们的值
    • 不添加您添加到原始评论中的代码 - 键似乎按照我之前提到的方式工作......但是现在唯一阻止这个问题得到解决的是事实该代码设置为通过 TWEET ID 检索特定推文。我知道如何获取 Twitter 用户的 ID(虽然谢谢 :)) - 但我现在需要的是知道将 USER ID 放在哪里以获取用户的推文。提前致谢!
    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2011-10-22
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    相关资源
    最近更新 更多