2010년 11월 24일 수요일

Twitter xAuth 인증 방법

Android 용 App을 개발중에 ID, Password 로 로그인 해서 간단한 글을 남기는 기능이 필요해서
정보를 조사중에 아래와 같은 내용을 찾았다.

oAuth 기능을 이용하려면 WebView 를 통해 로그인을 하고, PIN값을 받아서 다시 입력해야 하는 번거로움이 있는데, 이를 피하기 위해서 xAuth 를 사용하려 하니 아래와 같은 제약 사항이 있었다.
1. 트위터에 사용할 Application을 등록 한다
http://dev.twitter.com/apps/new 에서 Application을 등록한다. 
2. ConsumerKey 와 ConsumerSecret을 확인한다.
http://dev.twitter.com/apps 페이지에서 해당 Application 이름을 클릭 ->상세보기에서  확인 가능

3. xAuth 방식을 사용하기 위해서는 api@twitter.com 으로 간단한 어플리케이션 소개, Key값들, App ID 등을 보내서 인증을 받아야 한다.
1~2일 정도가 소요된다고 한다.
이 인증을 받지 않으면
The screen name / password combination seems to be invalid.
라는 Exception 을 만나게 된다.

위 준비 과정이 모두 끝나면 아래와같이 작성하여 정보를 전송 할 수 있다.

아래의 소스에서 accessToken을 저장해 두면 다시 로그인 하지 않아도 메세지를 바로 전송 할 수 있음을 참고 하자.


----------------------------------------------------------------------------------
public void sendTwitter() {
    String consumer_key = "발급받은 consumerKey";
    String consumer_secret = "발급받은 consumerSecret";
 
    String ID ="사용자 ID";
    String Password = "사용자 password";
    String message = "보낼 메세지";
    try {
        AccessToken accessToken = null;
        ConfigurationBuilder builder = new ConfigurationBuilder();
        builder.setOAuthConsumerKey(consumer_key);
        builder.setOAuthConsumerSecret(consumer_secret);
        Configuration config =  builder.build();
        OAuthAuthorization oauth = new OAuthAuthorization(config , consumer_key,consumer_secret );
        accessToken = oauth.getOAuthAccessToken(ID, Password);
        TwitterFactory facrory = new TwitterFactory(config);
        Twitter twitter = facrory.getOAuthAuthorizedInstance(accessToken);
        Status status = twitter.updateStatus(message);             // twitter 인증 테스트    
        Log.d("TwitterTest" , "Success updated status : " + status.getText());
    }
    catch (TwitterException e) {
            Log.d("TwitterTest" , "Failed : " + e.getMessage());
    }
}
---------------------------------------------------------------------------------

출처 : 딩굴딩굴 곰탱이

댓글 없음:

댓글 쓰기