我正在尝试使用以下代码,但由于某种原因我收到了无效或过期的 token 代码如下
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cf= new ConfigurationBuilder();
cf.setDebugEnabled(true)
.setOAuthConsumerKey("3Tt35OwMYXXXXXXIsLqVDf0Y")
.setOAuthConsumerSecret("eMTbKXWvCgrc4k3XXXXXXXXXXXXXXXhJ1MWEtEFZnRZ")
.setOAuthAccessToken("SonrEAXXXXXXXXXdD4UzcmBUuP4vsVmwZ4ZhHQF5")
.setOAuthAccessTokenSecret("e1wR16ralA2ht0XXXXXXXXXXNhN5iv9izk1K1magOx");
TwitterFactory tf =new TwitterFactory(cf.build());
twitter4j.Twitter twitter= tf.getInstance();
List<Status> status=twitter.getHomeTimeline();
for(Status st:status){
System.out.println(st.getUser().getName()+""+st.getText());
}
}
当我运行该类时出现以下错误
Exception in thread "main" 401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret, access token/secret, and the system clock is in sync.
message - Invalid or expired token.
code - 89
Relevant discussions can be found on the Internet at: http://www.google.co.jp/search?q=62590fa6 or http://www.google.co.jp/search?q=08f4a3c5
TwitterException{exceptionCode=[62590fa6-08f4a3c5], statusCode=401, message=Invalid or expired token., code=89, retryAfter=-1, rateLimitStatus=null, version=4.0.4}
at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:164)
at twitter4j.HttpClientBase.request(HttpClientBase.java:57)
at twitter4j.HttpClientBase.get(HttpClientBase.java:75)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1786)
at twitter4j.TwitterImpl.getHomeTimeline(TwitterImpl.java:105)
at firsttwitapp.FirstTwitApp.main(FirstTwitApp.java:34)
C:\Users\User1\AppData\Local\NetBeans\Cache\8.1\executor-snippets\debug.xml:83:Java 返回:1 构建失败(总时间:1分23秒)
最佳答案
当我尝试制作 TwitterBot 时,我遇到了同样的问题。这个问题是由于系统的代理问题造成的,默认是 false。您可以使用以下简单的一行代码将其打开:
System.setProperty("java.net.useSystemProxies", "true");
关于java - 使用 java Oauth2 的推文应用程序中的无效或过期 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802877/