我的代码是:
for(int i=0;i<list.size();i++){
listRetweeters = null;
tweetId = list.get(i).getId();
status = twitter.getStatus(tweetId);
listRetweeters= twitter.getRetweeters(status);
System.out.println("users RT: ");
for(int j=0;j<listRetweeters.size();j++)
System.out.println(listRetweeters.get(j).toString());
}
我的问题是,在尝试转发推文时,我会返回此错误:
线程“main”中的异常winterwell.jtwitter.TwitterException $ E401:未经授权 HTTP / 1.1 401未经授权 {“errors”:[{“code”:32,“message”:“无法对您进行身份验证”}}} http://api.twitter.com/1/statuses/111580420944044034/retweeted_by.json(匿名) at winterwell.jtwitter.URLConnectionHttpClient.processError(URLConnectionHttpClient.java:380) at winterwell.jtwitter.URLConnectionHttpClient.connect(URLConnectionHttpClient.java:199) at winterwell.jtwitter.URLConnectionHttpClient.getPage(URLConnectionHttpClient.java:240)
感谢您的回复和对不起,我的基本英语XD
答案 0 :(得分:0)
客户端正在尝试对getRetweeters()调用进行身份验证,并且您正在使用未经身份验证的Twitter对象 - 或者可能是使用无效OAuth令牌的对象。
实际上,现在没有必要对此呼叫进行身份验证。如果您下载最新版本的JTwitter,它将允许此方法使用匿名客户端(使用无参数的Twitter()构造函数创建)。
或者,您可以将OAuthSignpostClient()与有效的访问令牌一起使用。