2012-04-04 6 views
5

मैं ट्विटर 4j का उपयोग कर ट्विटर पर लॉगिन करने और लॉग इन उपयोगकर्ता के बारे में जानकारी प्राप्त करने में सक्षम हूं लेकिन मैं अपने आवेदन से ट्वीट पोस्ट करने में सक्षम नहीं हूं। मैं ट्वीट पोस्ट करने के लिए जावा वेब एप्लिकेशन का उपयोग कर रहा हूं। नीचे दिए गए कोड को देखें जो मैं उपयोग करता हूं।जावा में twitter4j का उपयोग कर ट्वीट पोस्ट करने के लिए कैसे?

String ACCESS_TOKEN = "ttttttttt"; 
    String ACCESS_TOKEN_SECRET = "gggggggggggggg"; 
    String CONSUMER_KEY = "gggggggggggg"; 
    String CONSUMER_SECRET = "hhhhhhhhhhhhh"; 
    String tweet = ""; 
    if (request.getParameter("tweet") != null) { 
     tweet = request.getParameter("tweet"); 
    } 
    AccessToken accessToken = new AccessToken(ACCESS_TOKEN, ACCESS_TOKEN_SECRET); 
    OAuthAuthorization authorization = new OAuthAuthorization(ConfigurationContext.getInstance(), CONSUMER_KEY, CONSUMER_SECRET, accessToken); 
    Twitter twitter = new TwitterFactory().getInstance(authorization); 
    try { 
     //twitter.updateStatus("Hello World!"); 
     twitter.updateStatus(tweet); 
    } catch (TwitterException e) { 
     System.err.println("Error occurred while updating the status!"); 
    } 

मैं follwing अपवाद:

TwitterException {exceptionCode = [fa54b184-3bf2623f], statusCode = 401, retryAfter = 0, rateLimitStatus = अशक्त, संस्करण = 2.1.5-स्नैपशॉट (निर्माण: d372a51b9b419cbd73d416474f4a855f3e889507)}

कृपया मदद करें।

उत्तर

7
  1. अपने पहले से बनाए आवेदन (https://dev.twitter.com) पर जाएं

  2. आपके आवेदन सेटिंग्स की जाँच करें (> अनुप्रयोग प्रकार)

  3. 'आवेदन प्रकार' प्रत्यक्ष संदेशों को पढ़ने, लिखने और एक्सेस करने की आवश्यकता है। यदि नहीं, तो आप आसानी से अपडेट कर सकते हैं।

(मैं प्रसंस्करण वातावरण में अपने कोड का परीक्षण किया और यह काम कर रहा है)

1

statusCode 401 मतलब है कि आप कर रहे हैं not authorized

जांच करें कि आपके क्रेडेंशियल्स मान्य हैं। यदि वे हैं, तो हो सकता है कि आपका एप्लिकेशन उपयोगकर्ता द्वारा मान्य नहीं किया गया हो। twitter4j site (बिंदु 7)

4

पर उदाहरण देखें, सबसे पहले, अपने acces टोकन/गुप्त और उपभोक्ता कुंजी/रहस्य को पुन: उत्पन्न करें। फिर इसे आज़माएं।

String consumerKey = "yourconsumerKey "; 
     String consumerSecret = "yourconsumerSecret"; 
     String accessToken = "yourAccessToken"; 
     String accessSecret = "yourAccessSecret"; 

     ConfigurationBuilder cb = new ConfigurationBuilder(); 
     cb.setDebugEnabled(true) 
      .setOAuthConsumerKey(consumerKey) 
      .setOAuthConsumerSecret(consumerSecret) 
      .setOAuthAccessToken(accessToken) 
      .setOAuthAccessTokenSecret(accessSecret); 

     try 
     { 
      TwitterFactory factory = new TwitterFactory(cb.build()); 
      Twitter twitter = factory.getInstance(); 

      System.out.println(twitter.getScreenName()); 
      Status status = twitter.updateStatus(latestStatus); 
      System.out.println("Successfully updated the status to [" + status.getText() + "]."); 
      }catch (TwitterException te) { 
       te.printStackTrace(); 
       System.exit(-1); 
      }