2012-07-16 15 views
10

twitter4j lib का उपयोग करके ट्विटर के साथ अपने वेबएप को एकीकृत करने का प्रयास कर रही है।
मैंने ट्विटर पर अपना ऐप पंजीकृत किया है और Consumer key और Consumer secret मान प्राप्त किए हैं।
कुछ भी विशेष, मानक OAuth चरण।ट्विटर एकीकरण: उपभोक्ता कुंजी/गुप्त जोड़ी पहले से ही

कोड:

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); 
... 

अपवाद:

Caused by: java.lang.IllegalStateException: consumer key/secret pair already set. 

मैं key और secret, किसी भी .properties या अन्य फ़ाइल के लिए कोई और विन्यास की है।

संपादित करें:

टिप्पणी लाइन twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); का कारण बनता है अपवाद:

java.lang.IllegalStateException: OAuth consumer key/secret combination not supplied 

उत्तर

30

कोड और दस्तावेज दोनों को देखते हुए, ऐसा लगता है कि Twitter इंस्टेंट को चालू करने की आपकी विधि की अनुशंसा नहीं की जाती है। यदि आप प्रोग्रामेटिक रूप से कॉन्फ़िगरेशन (और गुणों का उपयोग नहीं करते) की आपूर्ति करना चाहते हैं, तो ऐसा लगता है कि आपको 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(); 
... 

सिंगलटन एक कारखाने है कि एक Authorization कार्यान्वयन एक PropertyConfiguration विन्यास का समर्थन प्राप्त करने के लिए का उपयोग कर एक विन्यास चूक के साथ आपूर्ति नहीं किया गया है द्वारा प्रदान की। यदि कोई गुण फ़ाइल नहीं है, तो दिखता है जैसे इसे OAuthAuthorization ऑथ को तुरंत चालू नहीं करना चाहिए, जो आप देख रहे अपवाद का कारण बनेंगे। लेकिन PropertyConfiguration उपयुक्त गुण फ़ाइल के लिए पूरे CLASSPATH पर खोज करता है, इसलिए हो सकता है कि आपने एक को अनदेखा किया हो। आप Twitter उदाहरण प्राप्त करने के बाद कुंजी और रहस्य सही प्रवेश करने कि वे क्या सेट करने के लिए कर रहे हैं देखने के लिए कोशिश कर सकते:

 
System.out.println("key:" + twitter.getConfiguration().getOAuthConsumerKey()); 
System.out.println("secret: " + twitter.getConfiguration().getOAuthConsumerSecret()); 
+1

अच्छा टिप्पणी की आप Araxia का शुक्र है, कि काम करता है मेरे लिए – sergionni

+0

grt काम, thx ..! –

0

मेरे कूबड़ कि आप निजी अंतिम चर स्थापित कर रहे हैं और उसके बाद twitter.setOAuthConsumer() भी ऐसा ही करने की कोशिश कर रही है । आपको केवल एक या दूसरे की आवश्यकता होनी चाहिए। क्या आपने twitter.setOAuthConsumer() लाइन पर टिप्पणी करने का प्रयास किया है?

Docs इन्हें सेट करने के लिए 'पसंदीदा' तरीका बताएं।

+0

मुझे, संपादित करें अनुभाग, please.Got अपवाद देखें कि – sergionni

संबंधित मुद्दे