2011-10-17 105 views
0

我想編寫一個簡單的Java(或Java Web應用程序)程序,將允許用戶登錄和張貼Twit。我甚至不需要用戶界面。我可以簡單地編寫twit,userId和密碼。我只想知道這個過程。我一直在尋找一段時間,到目前爲止我還沒有取得成功。以下代碼最終應該工作不起作用。登錄到Twitter和推特從Java(網絡應用程序)

該代碼是一個簡單的應用程序,而不是一個Web應用程序。有沒有人有一些代碼可以使用現在的Twitter API?我一直在嘗試使用twitter4j。

import twitter4j.Twitter; 
import twitter4j.TwitterException; 
import twitter4j.TwitterFactory; 
import twitter4j.auth.AccessToken; 
import twitter4j.auth.RequestToken; 

public class TwitterUtils { 

public static void main(String[] args) { 
    try { 

     final String consumerKey = "**********"; 
     final String consumerSecret = "**********"; 
     Twitter twitter = new TwitterFactory().getInstance(); 
     twitter.setOAuthConsumer(consumerKey, consumerSecret); 
     RequestToken requestToken = twitter.getOAuthRequestToken(); 

     String token = requestToken.getToken(); 
     String tokenSecret = requestToken.getTokenSecret(); 
     System.out.println("My token :: " + token); 
     System.out.println("My token Secret :: " + tokenSecret); 

     //AccessToken a = new AccessToken(token, tokenSecret); 
     //twitter.setOAuthAccessToken(a); 
     twitter.updateStatus("If you're reading this on Twitter, it worked!"); 

    } catch (TwitterException e) { 
     e.printStackTrace(); 
    } 
}//main 
}//TwitterUtils 

隨着的accessToken線評論我的錯誤

Exception in thread "main" java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/configuration.html for the detail.  at twitter4j.TwitterBaseImpl.ensureAuthorizationEnabled(TwitterBaseImpl.java:205) 
at twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:453) 
at playaround.TwitterUtils.main(TwitterUtils.java:55) 

Java結果:1

當我取消註釋行,錯誤讀取

Exception in thread "main" java.lang.IllegalArgumentException: Invalid access token format. at twitter4j.auth.AccessToken.<init>(AccessToken.java:50) 
at playaround.TwitterUtils.main(TwitterUtils.java:53) 

沒有人有我可以使用的完整解決方案?謝謝。

+0

爲什麼不只是使用類似於[Tweet button](https://dev.twitter.com/docs/tweet-button)的內容?這都是客戶端,無需您的應用程序訪問用戶的帳戶。 –

回答

0

除了consumerKeyconsumerSecret(您的應用程序的密鑰和祕密),您需要使用您的應用程序的用戶accessToken。您使用OAuth協議從Twitter獲得此accessToken

0

通過這個鏈接( http://module.minic.ro/how-to-make-a-twitter-application-tutorial/),您可以生成使用者密鑰,使用者機密,訪問令牌和訪問令牌密鑰

使用,當你爲Twitter的對象鍵驗證碼:

ConfigurationBuilder cb = new ConfigurationBuilder(); 
cb.setDebugEnabled(true) 
.setOAuthConsumerKey("*********************") 
.setOAuthConsumerSecret("******************************************") 
.setOAuthAccessToken("**************************************************") 
.setOAuthAccessTokenSecret("******************************************"); 
TwitterFactory tf = new TwitterFactory(cb.build()); 
Twitter twitter = tf.getInstance(); 

http://twitter4j.org/en/configuration.html

相關問題