我正在尝试使用Twitter4J进行我的第一个代码项目(仅仅是为了好玩),它应该显示我用户时间线的五条最新推文。我在网上找到了这个代码,并用我的个人数据更新了它,但它一直在抛出这个例外:
403:该请求已被理解,但已被拒绝。随附的错误消息将解释原因。由于更新限制(https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following)而拒绝请求时使用此代码。 {"错误":[{"消息":" SSL是必需的","代码":92}}}相关讨论可以在Internet位于:http://www.google.co.jp/search?q=e5488403 TwitterException {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);
}
}
}
答案 0 :(得分:0)
在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);
}
}