使用Twitter4j从Android发布时,xAuth出现TwitterException
我正在使用twitter4j-2.1.3.jar向twitter发布一篇简单的帖子。我使用的代码是:使用Twitter4j从Android发布时,xAuth出现TwitterException,android,twitter,twitter4j,xauth,Android,Twitter,Twitter4j,Xauth,我正在使用twitter4j-2.1.3.jar向twitter发布一篇简单的帖子。我使用的代码是: System.setProperty("twitter4j.oauth.consumerKey", TWITTER_CONSUMER_KEY); System.setProperty("twitter4j.oauth.consumerSecret",TWITTER_SECRET_KEY); Twitter twitter = new TwitterFactory().getInstance(u
System.setProperty("twitter4j.oauth.consumerKey", TWITTER_CONSUMER_KEY);
System.setProperty("twitter4j.oauth.consumerSecret",TWITTER_SECRET_KEY);
Twitter twitter = new TwitterFactory().getInstance(username,password);
AccessToken accessToken = twitter.getOAuthAccessToken();
twitter.updateStatus(": xAuth test");
我收到的错误消息是:
TwitterException{exceptionCode=[e07c50ee-0000d883 1ac06e3f-626a1296], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.1.3}
at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:185)
at twitter4j.TwitterOAuthSupportBaseImpl.getOAuthAccessToken(TwitterOAuthSupportBaseImpl.java:108)
at twitter4j.Twitter.getOAuthAccessToken(Twitter.java:54)
at com.sfway.detailpage.CheckinTab$16$1.run(CheckinTab.java:640)
TwitterException{exceptionCode=[1ac06e3f-626a1296], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.1.3}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:307)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:103)
at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:178)
我试过另一种方式,像这样:
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
configurationBuilder.setOAuthConsumerSecret(TWITTER_SECRET_KEY);
Configuration configuration = configurationBuilder.build();
twitter = new TwitterFactory(configuration).getInstance(username,password);
AccessToken token = twitter.getOAuthAccessToken();
twitter.updateStatus(": xAuth test");
在这两种方法中,我都在“twitter.getOAuthAccessToken()”行中得到错误。请告诉我出了什么问题。我已经在14小时前注册了我的应用程序,以获取机密和消费者密钥。这是否与批准我的应用程序用于xAuth有关,如果是,我如何知道他们是否在Twitter上为我的应用程序启用了xAuth。你查看了这些帖子吗 对于一个人来说,切换版本解决了这个问题
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>2.1.0</version>
</dependency>
org.twitter4j
twitter4j核
2.1.0
我在TwitterOAuth上发表了一篇使用Twitter4j和其他库的博客文章。你可以这样做:
此外,如果您使用的是Twitter4j2.1.3,请注意它与Android 2.0及以上版本兼容。如果您仍然面临问题,请告诉我,因为我已经使用Twitter4j 2.0.9开发了一个完整的Twitter应用程序。您是否向Twitter支持发送电子邮件,让他们为您的应用程序启用xAuth Twitter只希望桌面和移动应用程序使用xAuth,因此注册的应用程序默认禁用xAuth,您需要Twitter上的某个人为您打开它。如果您的应用程序没有启用xAuth,您将获得401 要启用xAuth,请向发送电子邮件api@twitter.com您的应用程序的名称以及它需要xAuth而不是普通的旧OAuth的原因(例如,在我的桌面应用程序中弹出web浏览器是不合适的) 谢谢
Dhrumil Shah我同意:发邮件到Twitterapi@twitter.com请求应用程序启用xAuth。你似乎还没有这样做,所以当你调用xAuth服务方法时,它只会返回HTTP 401。你好,rahul,我想知道如何在Android中添加这个依赖项,有什么想法吗。非常感谢amit,你的帖子非常详细和精彩,但我正在使用xAuth,我很高兴知道上面代码失败的原因。