我的代码是:

  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());
   }


我的问题是在尝试发送推文时,我会返回此错误:

线程“主” winterwell.jtwitter.TwitterException $ E401中的异常:未经授权
HTTP / 1.1 401未经授权
{“错误”:[{“代码”:32,“消息”:“无法验证您的身份”}}}
http://api.twitter.com/1/statuses/111580420944044034/retweeted_by.json(匿名)
        在winterwell.jtwitter.URLConnectionHttpClient.processError(URLConnectionHttpClient.java:380)
        在winterwell.jtwitter.URLConnectionHttpClient.connect(URLConnectionHttpClient.java:199)
        在winterwell.jtwitter.URLConnectionHttpClient.getPage(URLConnectionHttpClient.java:240)

感谢您的回复,对不起,我的基本英语XD

最佳答案

客户端正在尝试对getRetweeters()调用进行身份验证,并且您使用的是未经身份验证的Twitter对象-或带有无效OAuth令牌的对象。

实际上,现在不必为此调用进行身份验证。如果下载最新版本的JTwitter,它将允许匿名客户端(使用无参数Twitter()构造函数创建)使用此方法。

或者,您可以将OAuthSignpostClient()与有效的访问令牌一起使用。

关于java - Jtwitter的getRetweeters问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7341731/

10-12 04:57