【问题标题】:How to output my recent tweets via twitter4j?如何通过 twitter4j 输出我最近的推文?
【发布时间】:2016-05-13 12:21:18
【问题描述】:

我正在尝试我的第一个使用 Twitter4J 的代码项目(只是为了好玩),其中应该显示我的用户时间轴上最近的五条推文。我在网上找到了这段代码,并用我的个人数据更新了它,但它一直抛出这个异常:

403:请求被理解,但被拒绝。随附的错误消息将解释原因。当请求因更新限制而被拒绝时使用此代码 (https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following)。 {"errors":[{"message":"SSL is required","code":92}]} 相关讨论可以在网上:http://www.google.co.jp/search?q=e5488403TwitterException{exceptionCode=[e5488403-0cac370f], statusCode=403 , retryAfter=-1, rateLimitStatus=null, featureSpecificRateLimitStatus=null, version=2.2.5}

关于它为什么不起作用的任何想法?我对此还是很陌生,希望得到建议。

import twitter4j.Paging;
import twitter4j.ResponseList;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.auth.*;

public final class ReadTweets {

/**
 * Main method.
 *
 * @param args
 *            the command line arguments; unused here
 */
public static void main(String[] args) {
    Twitter twitter = new TwitterFactory().getInstance();
    //consumer key and consumer secret
    twitter.setOAuthConsumer("---", "---");
    //access token and access token secret
    twitter.setOAuthAccessToken(new AccessToken("---", "---"));

    try {
        ResponseList<Status> a = twitter.getHomeTimeline(new Paging(1,5));
        for (Status b : a) {
            System.out.println(b.getText());
        }
    } catch (Exception e) {
        System.out.println(e);
    }

  }
}

【问题讨论】:

    标签: java twitter4j


    【解决方案1】:

    在 twitter4j.properties 添加 http.useSSL=true 或将您的 twitter4j 升级到最新版本。 使用 ConfigurationBuilder

        public static void main(String[] args) {
        ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
        configurationBuilder.setDebugEnabled(true);
        configurationBuilder.setOAuthConsumerKey(YOURCONSUMER_KEY);
        configurationBuilder.setOAuthConsumerSecret(YOURCONSUMER_SECRET);
        configurationBuilder.setOAuthAccessToken(YOURACCESSTOKEN);
        configurationBuilder.setOAuthAccessTokenSecret(YOURTOKENSECRET);
        configurationBuilder.setUseSSL(true);
        Configuration configuration = configurationBuilder.build();
        Twitter twitter = new TwitterFactory(configuration).getInstance();
        try {
            ResponseList<Status> a = twitter.getHomeTimeline(new Paging(1, 5));
            for (Status b : a) {
                System.out.println(b.getText());
            }
        } catch (Exception e) {
            System.out.println(e);
        }
    }
    

    【讨论】:

    • 我在哪里可以找到那个?
    • 我没有使用 twitter4j.properties,你可以使用 ConfigurationBuilder 以编程方式进行配置。我已经用示例代码更新了我的答案
    猜你喜欢
    • 2013-12-25
    • 2014-12-19
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2013-12-08
    • 2012-01-01
    相关资源
    最近更新 更多