我想在我的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。但是正如您所见,我正在使用生成器来设置我的密钥。有人可以帮我修复它吗?谢谢。
Twitter twitter = tf.getInstance();
并且删除调用twitter.setOAuthConsumer
的语句。 - kevin847