所以我一直在试着玩Twitter4j,我把所有东西都搞定了,直到我可以编译所有东西。但是有一个错误说“java.lang.IllegalStateException:消费者密钥/秘密对已经设置。”
我在几个地方读到我需要下面的ConfigureBuilder类。但是,每当我尝试编译它时,编译器都说找不到ConfigureBuilder。我已经将Twitter4j文件重新载入了3次。
我使用的IDE是BlueJ,如果这可能会有所帮助。
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.*;
import twitter4j.auth.AccessToken;
import java.io.IOException;
import java.net.URL;
import java.util.Arrays;
public class TwitterTyper4j {
static String consumerKeyStr = "";
static String consumerSecretStr = "";
static String accessTokenStr = "";
static String accessTokenSecretStr = "";
public static void main(String[] args) {
try {
//twitter confic
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(CONSUMER_KEY);
builder.setOAuthConsumerSecret(CONSUMER_SECRET);
Configuration configuration = builder.build();
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
twitter.setOAuthConsumer(consumerKeyStr, consumerSecretStr);
AccessToken accessToken = new AccessToken(accessTokenStr,
accessTokenSecretStr);
twitter.setOAuthAccessToken(accessToken);
twitter.updateStatus("Hello Twitter");
System.out.println("Successfully updated the status in Twitter.");
} catch (TwitterException te) {
te.printStackTrace();
}
}
}
答案 0 :(得分:1)
确保类路径上有最新版本twitter-core-x.y.z.jar
- 我确定您已经这样做了,但值得检查一下。
然后您需要导入ConfigurationBuilder
,例如:
import twitter4j.conf.ConfigurationBuilder;
希望能够解决 编译错误。虽然代码中还有其他问题需要修复 - 例如,cb
声明在哪里?
修改强>
这有点推测,但假设有一个拼写错误,cb
和configuration
可能是相同的......
您已经为使用者提供了密钥和密钥,然后用于构建Twitter
实例。
然后在Twitter
实例上,已经配置了密钥和密钥,再次设置它:
twitter.setOAuthConsumer(consumerKeyStr, consumerSecretStr);
请注意该方法的Javadoc状态:
@throws
IllegalStateException
已设置OAuth使用者,或者实例正在使用基本授权