2012-05-11 4 views
0

誰でもAndroid上でjTwitter経由でツイートを送信しましたか?AndroidでjTwitterでツイートを送信するには?

私は認証で立ち往生しています。私は正常にユーザーをツイッターにリダイレクトし、自分のアプリを認証し、new OAuthSignpostClient(CONSUMER_KEY, CONSUMER_SECRET, CALLBACK_URL)で自分のアプリにリダイレクトすることができます。それから私は、コールバックURLで与えられ、状態を更新するために、再度OAuthSignpostClientを使用しようとしているoauth_tokenoauth_verifierを格納します。

05-11 12:24:32.643: E/AndroidRuntime(25897): winterwell.jtwitter.TwitterException$E401: Could not authenticate with OAuth. 
05-11 12:24:32.643: E/AndroidRuntime(25897): http://api.twitter.com/1/statuses/update.json (anonymous) 
05-11 12:24:32.643: E/AndroidRuntime(25897): at winterwell.jtwitter.URLConnectionHttpClient.processError(URLConnectionHttpClient.java:425) 
05-11 12:24:32.643: E/AndroidRuntime(25897): at winterwell.jtwitter.OAuthSignpostClient.post2_connect(OAuthSignpostClient.java:345) 

:によって引き起こさずにTwitterExceptionで終わる

OAuthSignpostClient client = new OAuthSignpostClient(TwitterOAuthActivity.CONSUMER_KEY, TwitterOAuthActivity.CONSUMER_SECRET, accessToken, accessTokenSecret); 

// Ready to go! 
Twitter twitter = new Twitter(null, client); 
CharSequence date = DateFormat.format("dd.MM.yyyy @ hh:mm:ss", new Date()); 
twitter.updateStatus("Yay. It works! " + date); 

誰かが私の問題がどこにあるか考えていますか?

答えて

0

コールバックURLの検証プログラムは一時的なキーです。あなたが持っているOAuthSignpostClientオブジェクトのロックを解除しましょう。新しいOAuthSignpostClientの構築には使用できません。

あなたが呼び出す必要があります:

client.setAuthorizationCode(verifier); 
// The client can now be used! 
// To use it again, without the oauth dance, store _these_ tokens: 
String[] tokens = client.getAccessToken(); 

あなたはまた、物事が容易になり、新たなAndroidTwitterLoginクラスをチェックアウトすることもできます。

AndroidTwitterLogin atl = new AndroidTwitterLogin(myApp, 
       MY_TWITTER_KEY,MY_TWITTER_SECRET,MY_TWITTER_CALLBACK) {     

    protected void onSuccess(Twitter jtwitter, String[] tokens) { 
     jtwitter.setStatus("I can now post to Twitter!"); 
     // Recommended: store tokens in your app for future use 
     // with the constructor OAuthSignpostClient(String consumerKey, String consumerSecret, String accessToken, String accessTokenSecret) 
    } 
}; 
atl.run(); 
関連する問題