티스토리 뷰

학교/졸업작품

Twitter와 연동해보자

사탕맛커피 2011. 8. 19. 21:05

현재 프로그램을 트위터와 연동하기 위해, Twitter4J 라이브러리를 사용한다. Twitter4J는 100% 자바로 제작되어 있고 다양한 앱에서 이미 사용하고 있다. 트위터의 모든 기능을 구현하는 것이 아니라 트위터로 내보내기 기능 및 결과 확인만을 사용할 것이다.

 

Twitter4J 

http://twitter4j.org/en/index.html 에서 Last stable version을 다운 받은 후 압축파일에서 lib폴더 아래의 twitter4j-core-* 와 twitter4j-media-support-* 파일을 프로젝트에 import한다.(후자는 이미지 업로드용)

트위터 개발자 사이트에 등록

https://dev.twitter.com 에 접속 한 후 오른쪽 상단의 Sign in을 눌러 로그인한다.

로그인 후 오른쪽 상단의 내 아이디 메뉴 아래의 My Applications –> Create a new application을 누른다.

Create an application 페이지에서 다음 내용을 입력한다.

Name : 앱의 이름
Description : 앱 설명
WebSite : 앱의 홈페이지(없다면 적당하게 입력)
Callback URL : 웹페이지에서 트위터를 사용할 경우 입력

약관에 agree한 후 Create your Twitter application버튼을 누르면 등록이 끝난다.

어플리케이션 인증

 어플리케이션을 인증받기 위해서는 oAuth와 xAuth방식이 있는데 xAuth방식은 앱에서 비밀번호를 입력 받아서 인증을 하는 방식이다. 간단하지만 부정사용을 방지하기 위해 twitter측에 xAuth를 사용해야 하는 이유를 설명하고 승인을 받아야 한다.

 따라서 여기에서는 Twitter페이지에서 승인받는 oAuth 방식을 사용한다.

인증 과정은 대략 다음과 같다.

 앱에서 승인 요청 –> 웹 브라우저에 트위터 승인페이지 표시 –> 미리 지정된 콜백주소로 앱으로 복귀

먼저 프로그램에서 사용할 인증 키 값을 받아와야 하는데, Consumer Key와 Consumer Secret 이다. https://dev.twitter.com/apps 에서 확인할 수 있다. 추가적으로 Access level을 지정하여 앱에서 사용할 권한의 정도를 설정한다.

그리고 AccessToken과 AccessTokenSecret이 필요한데 이는 앱 최초 실행시 인증을 받으면 얻을 수 있다.

mReqToken = mTwitter.getOAuthRequestToken(mCallbackURL.toString()); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(mReqToken.getAuthorizationURL())));
위 코드는 requestToken을 생성하여 웹브라우저를 통해 Twitter 앱 인증 페이지를 호출한다.

##########0*

 

ID/PW를 입력하고 승인하면 미리 지정한 콜백주소로 넘어가게 되는데 이 주소를 “앱이름://blahblah~”로 해두고 AndroidManifest.xml에서 해당Activity에 intent-filter를 걸어두면 해당 Activity로 복귀할 수 있다.

<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="mytrace" android:host="strawberryit.blog.me"/> </intent-filter>
해당 Activity의 속성은 singleInstance로 해두어야 한다.

 

Activity의 onNewIntent()메소드에서 결과를 받아올 수 있다. AccessToken은 내부에 AccessToken과 AccessTokenSecret으로 구성되는데 이 두 문자열 값을 내부에 저장해 두면 재 인증 받을 필요 없다.

사진을 올리는 경우 다양한 서비스를 사용할 수 있는데, 여기서는 Twitpic서비스를 사용한다.

http://dev.twitpic.com/apps/new 에 접속하여 등록 후 API 키를 얻을 수 있다.

ImageUpload의 upload메소드를 사용하면 파일을 업로드 할 수 있고 리턴값이 사진의 주소이므로 이를 메시지 뒤에 추가하여 Twitter에 올리면 된다.

'학교 > 졸업작품' 카테고리의 다른 글

C2DM Push 사용하기  (0) 2011.08.19
어플 변조를 방지하기 위해서는? (Apktool)  (0) 2011.08.19
Facebook로 내보내기  (0) 2011.08.19
이전 주소  (0) 2011.08.19
안드로이드 APK 리버스 엔지니어링  (0) 2011.06.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함