Twitter integration:consumer key/secret pair already set
Looking at both the code and documentation, it looks like your method of instantiating a Twitter
instance is not recommended. If you want to supply configuration programmatically (and not use properties), it looks like you need to supply a Configuration
to the TwitterFactory
.
... ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(CONSUMER_KEY); builder.setOAuthConsumerSecret(CONSUMER_SECRET); Configuration configuration = builder.build(); TwitterFactory factory = new TwitterFactory(configuration); Twitter twitter = factory.getInstance(); ...
The singleton provided by a factory that hasn't been supplied with a configuration defaults to using an Authorization
implementation backed by a PropertyConfiguration
configuration. If there is no properties file, it looks like it shouldn't instantiate an OAuthAuthorization
auth, which is what would cause the exception you're seeing. But PropertyConfiguration
does search the entire CLASSPATH
for an appropriate properties file, so maybe you overlooked one. You could try logging the key and secret right after getting the Twitter
instance to see what they are set to:
System.out.println("key:" + twitter.getConfiguration().getOAuthConsumerKey()); System.out.println("secret: " + twitter.getConfiguration().getOAuthConsumerSecret());
Comments
-
MTPy about 2 years
Trying to integrate my webapp with Twitter using twitter4j lib.
I have registered my app on twitter site and gotConsumer key
andConsumer secret
values.
Nothing special,standardOAuth
step.code:
public class TwitterService { private final String CONSUMER_KEY = "xxx"; private final String CONSUMER_SECRET = "yyy"; public String fav() { Twitter twitter = TwitterFactory.getSingleton(); twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); ...
exception:
Caused by: java.lang.IllegalStateException: consumer key/secret pair already set.
I have no more configuration for
key
andsecret
,any.properties
or other file.EDIT:
commenting line
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
causes exception:java.lang.IllegalStateException: OAuth consumer key/secret combination not supplied
-
MTPy almost 12 yearssee me EDIT section,please.Got exception if commented