2011-10-17 20 views
0

私は、ユーザーがログインしてtwitを投稿できるようにする簡単なJava(またはJava Webアプリケーション)プログラムを作成します。私はユーザーインターフェイスも必要ありません。 twit、userId、およびパスワードを単純にハードコードすることができます。私はそのプロセスを知りたいだけです。私はしばらくの間探してきましたが、これまでのところ成功していません。最終的に動作するはずの次のコードは動作しません。Java(web-app)からtwitterとtweetへ

コードは、web-appではなく単純なアプリケーションです。誰かが現在のTwitter APIで動作するいくつかのコードを持っていますか?私はtwitter4jを使用しようとしています。 AccessToken線と

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 

は、私はエラーを取得するコメント

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ボタン](https://dev.twitter.com/docs/tweet-button)と同様のものを使用するだけではどうですか?それはすべてクライアント側であり、アプリがユーザーのアカウントにアクセスする必要はありません。 –

答えて

0

consumerKeyconsumerSecret(アプリケーションのキーとシークレット)のほかに、アプリケーションを使用しているユーザーのaccessTokenが必要です。 OAuthプロトコルを使用してTwitterからaccessTokenを取得します。

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

:あなたはコンシューマキー、コンシューマシークレット、アクセストークン、およびアクセストークンシークレットキー

使用あなたはTwitterのオブジェクト用のキーを取得し、このコードを生成することができ、このリンク( http://module.minic.ro/how-to-make-a-twitter-application-tutorial/)を通じて

関連する問題