我想在我的
Android应用程序中使用Twitter4j发推文.这是我的代码:
//TWITTER SHARE. @Click (R.id. img_btn_twitter) @Background public void twitterPostWall(){ try { //Twitter Conf. ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setoAuthConsumerKey(CONSUMER_KEY) .setoAuthConsumerSecret(CONSUMER_SECRET) .setoAuthAccesstoken(ACCESS_KEY) .setoAuthAccesstokenSecret(ACCESS_SECRET); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = new TwitterFactory().getInstance(); twitter.setoAuthConsumer(CONSUMER_KEY,CONSUMER_SECRET); try { RequestToken requestToken = twitter.getoAuthRequestToken(); Log.e("Request token: ","" + requestToken.getToken()); Log.e("Request token secret: ","" + requestToken.getTokenSecret()); Accesstoken accesstoken = null; } catch (IllegalStateException ie) { if (!twitter.getAuthorization().isEnabled()) { Log.e("OAuth consumer key/secret is not set.",""); } } Status status = twitter.updateStatus(postLink); Log.e("Successfully updated the status to [","" + status.getText() + "]."); } catch (TwitterException te) { Log.e("TWEET Failed",""); } }
我总是从Twitter4j收到此错误消息:java.lang.IllegalStateException:缺少身份验证凭据.有关详细信息,请参阅http://twitter4j.org/en/configuration.html.但是你可以看到我正在使用构建器设置我的密钥.有人可以帮我解决一下吗?谢谢.
解决方法
问题是以下几行.
TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = new TwitterFactory().getInstance();
您正在将配置传递给一个TwitterFactory实例,并使用另一个TwitterFactory实例来获取Twitter实例.
因此,你得到了
java.lang.IllegalStateException:缺少身份验证凭据
//Twitter Conf. ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true) .setoAuthConsumerKey(CONSUMER_KEY) .setoAuthConsumerSecret(CONSUMER_SECRET) .setoAuthAccesstoken(ACCESS_KEY) .setoAuthAccesstokenSecret(ACCESS_SECRET); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance();
并使用此twitter实例.它会工作.
原文地址:https://www.jb51.cc/java/127543.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。