我在Eclipse中复制了这段代码: http://alvinjayreyes.com/2012/01/02/twitter-api-on-your-java-application/ 它运行但它不起作用。
我只有这个警告 "描述资源路径位置类型 构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE。构建路径JRE系统库问题"
我试过这个解决方案: Warning - Build path specifies execution environment J2SE-1.4 没有任何好处。
有没有人能解决这个问题?
我的代码:
package stream;
import twitter4j.Paging;
import twitter4j.ResponseList;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
public class streaming {
public static void main(String[] args) {
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer("xxx","xxx");
twitter.setOAuthAccessToken(new AccessToken("xxx","xxx"));
try {
ResponseList<Status> a=twitter.getUserTimeline(new Paging(1,5));
for (Status b:a) {
System.out.println(b.getText());
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
控制台输出:
403:该请求已被理解,但已被拒绝。随附的错误消息将解释原因。由于更新限制(https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following)而拒绝请求时使用此代码。 {&#34;错误&#34;:[{&#34;消息&#34;:&#34; SSL是必需的&#34;,&#34;代码&#34;:92}]} TwitterException {exceptionCode = [ced778ef-115a04e4],statusCode = 403,retryAfter = -1,rateLimitStatus = null,featureSpecificRateLimitStatus = null,version = 2.2.5} 在twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:185) 在twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65) 在twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:85) 在twitter4j.TwitterImpl.get(TwitterImpl.java:1895) 在twitter4j.TwitterImpl.getUserTimeline(TwitterImpl.java:254) 在stream.streaming.main(streaming.java:22)
答案 0 :(得分:0)
将-Dtwitter4j.http.useSSL=true
添加到您的VM参数中,以确保twitter4j使用SSL。