2010-08-20 5 views
6

안드로이드 : 안드로이드 공유에 대한 다음 xAuth 예제를 시도하고 있습니다.안드로이드 트위터 xAuth example twitter4j를 사용하여

xAuth Authentication for Twitter Share in Android?

System.setProperty("twitter4j.oauth.consumerKey", "your token"); 
System.setProperty("twitter4j.oauth.consumerSecret", "your token secret"); 

Twitter twitter = new TwitterFactory().getInstance(login, password); 

AccessToken accessToken = twitter.getOAuthAccessToken(); 
//Then you must save your Token and Token secret from AccesToken 

if (mAccessToken != null) { 
    if (mAccessToken.getToken() != null && mAccessToken.getTokenSecret() != null) { 
     saveAccessToken(mAccessToken.getToken(), mAccessToken.getTokenSecret()); 
    } 
} 

내가 어떤 것을

을 다음과 같이 변경 한

AccessToken accessToken = twitter.getOAuthAccessToken(); 

내가 다음 줄에 IllegalStateException이

Exception Msg: java.lang.IllegalStateException: OAuth consumer key/secret combination not supplied

을 데

Twitter twitter = new TwitterFactory().getInstance("login", "pass"); 
      twitter.setOAuthConsumer(getString(R.string.twtAPIKey), getString(R.string.twtSecret)); 
      AccessToken mAccessToken = twitter.getOAuthAccessToken(); 

그리고 다시 나는 예외 Exception Msg: java.lang.IllegalStateException: Basic authenticated instance.

XAUTH의 모든 작업 예를 들어 있어요?

+0

consumerKey와 consumerSecret이 맞습니까? 또한, 나는 이러한 예외를 줄 것이라고 생각하지 않지만, 그들이 트위터에서 XAuth를 응용 프로그램에 사용하도록 설정 했습니까? – DonSteep

답변

5

나는


ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); 

    configurationBuilder.setOAuthConsumerKey(Consumer__Key); 
    configurationBuilder.setOAuthConsumerSecret(Consumer_Secret); 
    Configuration configuration = configurationBuilder.build(); 

    Twitter twitter = new TwitterFactory(configuration).getInstance("username","password"); 

    AccessToken token = twitter.getOAuthAccessToken(); 
    System.out.println("Access Token " +token); 

    String name = token.getScreenName(); 
    System.out.println("Screen Name" +name); 

    PrintWriter out= response.getWriter(); 
    System.out.println(token); 

을 다음 성공적으로 약간의 변화로 twitter4j의

+1

위의 코드에서 다음과 같은 예외 메시지를 표시했습니다. 화면 이름/암호 조합이 잘못되었습니다. –

+0

이것은 나를 위해 일했습니다. XAuth/OAuth를 제대로 배울 시간이없는 사람에게 유용한 코드입니다. –

+0

@Faisal Khan 안녕하세요 Twitte의 xAuth에 사용할 수있는 키가 있습니까? 아마도 이것이 오류의 원인 일 수 있습니다. –

2

버전 2.2.2을 xauth를 사용하여 안드로이드 응용 프로그램을 사용하여 트위터에 로그인 사용이 맞는지. 이 작품 :

Configuration configuration = new ConfigurationBuilder() 
.setOAuthConsumerKey("your_customer_key") 
.setOAuthConsumerSecret("your_customer_secret") 
.build(); 

Twitter twitter = new TwitterFactory(configuration).getInstance(new BasicAuthorization(username, password)); // yes, use "BasicAuthorization" although that seems strange 

AccessToken token = twitter.getOAuthAccessToken(); 
Log.d(TAG, "Access token: " + token.getToken()); 
Log.d(TAG, "Access token secret: " + token.getTokenSecret()); 

는 트위터 클라이언트 응용 프로그램이 작동하기 전에 authorized to use xAuth 할 필요가 있음을 기억하십시오.

관련 문제