2012-02-20 149 views
0

我剛開始使用Twitter4j,並試圖讓我的第一個應用程序工作。我已經在Twitter應用程序頁面上註冊了我的應用程序,並將OAuth信息輸入到twitter4j.properties文件中。但是,每次嘗試運行應用程序時,都會收到一條錯誤消息,指出「OAuth使用者密鑰/未設置密鑰」。我已將此消息包含在代碼中。Twitter4j:未設置OAuth消費者密鑰/密鑰

任何幫助將不勝感激。

由於提前, Aonghus

import java.util.logging.Logger; 
import twitter4j.Query; 
import twitter4j.QueryResult; 
import twitter4j.Status; 
import twitter4j.Tweet; 
import twitter4j.Twitter; 
import twitter4j.TwitterException; 
import twitter4j.TwitterFactory; 
import twitter4j.auth.AccessToken; 
import twitter4j.auth.RequestToken; 


public class test { 
    private final Logger logger = Logger.getLogger(test.class.getName()); 
    public static void main(String[] args) { 
     new test().publish(); 
    } 

    private void publish(){ 

     String message="Twitter application using Java http://www.java-tutorial.ch/architecture/twitter-with-java-tutorial"; 

     try { 
      Twitter twitter = new TwitterFactory().getInstance(); 
      try { 
       RequestToken requestToken = twitter.getOAuthRequestToken(); 
       AccessToken accessToken = null; 
       while (null == accessToken) { 
        logger.fine("Open the following URL and grant access to your account:"); 
        logger.fine(requestToken.getAuthorizationURL()); 
        try { 
         accessToken = twitter.getOAuthAccessToken(requestToken); 
        } 
        catch (TwitterException te) { 
         if (401 == te.getStatusCode()) { 
          logger.severe("Unable to get the access token."); 
         } else { 
          te.printStackTrace(); 
         } 
        } 
       } 
       logger.info("Got access token."); 
       logger.info("Access token: " + accessToken.getToken()); 
       logger.info("Access token secret: " + accessToken.getTokenSecret()); 
      } 
      catch (IllegalStateException ie) { 
       // access token is already available, or consumer key/secret is not set. 
       if (!twitter.getAuthorization().isEnabled()) { 
        logger.severe("OAuth consumer key/secret is not set."); 
        return; 
       } 
      } 
      Status status = twitter.updateStatus(message); 
      logger.info("Successfully updated the status to [" + status.getText() + "]."); 
     } 
     catch (TwitterException te) { 
      te.printStackTrace(); 
      logger.severe("Failed to get timeline: " + te.getMessage()); 
     } 
    } 
} 
+0

這可以幫助也許。使用配置生成器類。 – Pete 2012-05-23 23:43:38

回答

0

您需要設置消費鍵/ secret.You已經從Twitter Developers

+0

他應該在他的代碼中設置消費者密鑰/祕密? – maximus 2012-05-16 10:36:53

3

你需要在項目中創建一個文件,該文件會看起來像

debug=false 
oauth.consumerKey=************** 
oauth.consumerSecret=************************************ 
oauth.accessToken=**************************************** 
oauth.accessTokenSecret=******************************* 
相關問題