Twitter4J 설치/테스트

Twitter API는 http://apiwiki.twitter.com/ 에서 세부 정보를 찾아볼 수 있다.

합병되기 전/후의 두 개의 회사가 연관되어 있어, 두 개 (혹은 세 개)의 API 그룹으로 구성되어 있다.

HTTP 기반의 프로토콜인데, 여러 언어로 라이브러리가 공개되어 있다.

그 중, java로 공개된 라이브러리로는 Twitter4J, java-twitter, jtwitter 등이 있으며,

사용자 층이 두텁고, 업데이트가 최근까지 가장 활발한 Twitter4J를 선택하여 일부 메소드를 테스트해 보았다.


1. Twitter4J의 공식 사이트 : http://twitter4j.org/


2. Twitter4J의 활용예 (* YouTube 동영상 참조 : http://www.youtube.com/watch?v=2-iz5CduZdw)

  * 위의 예는 NetBeans를 활용한 예임


3. 설치하기(on Eclipse)

  • 위의 사이트에서 해당 라이브러리를 다운로드한다.

  • 다운받은 파일을 적당한 곳에 압축해제한다.

  • Eclipse에서 새 프로젝트를 하나 생성한다. 예 : TwitterTest

  • Runtime Library로 twitter4j-core-2.1.3-SNAPSHOT.jar와 twitter4j-httpclient-support-2.1.3-SNAPSHOT.jar를 설치한다.


4. 특이사항

  • 위의 동영상에는 나와 있지 않았고,  위의 설치과정 후 테스트 코드를 간략하게 작성하여 실행하였을 때 추가적으로 필요한 라이브러리가 있는 것으로 확인함

  • apache 사이트로부터 다음 파일들을 별도로 구한 후, runtime library build path에 추가한다.
    • httpcomponents-client-4.0.1-bin.zip (이 속에 있는 모든 jar)
    • httpcomponents-core-4.0.1-bin.zip (이 속에 있는 모든 jar)
    • apache-mime4j-0.4.jar
    • commons-loggin-1.1.1.jar

5. 테스트

  • 나의 timeline 가져오기
twitter = new TwitterFactory().getInstance("yourid", "yourpassword");
List statusList = twitter.getFriendsTimeline();
System.out.println("");
for(Status status : statusList) {
    System.out.println(status.getUser().getName() + ":" + status.getText());
}

[결과]


오상영:twhirl (windows용)에서는 검색어 입력에 한글이 되지 않는 것 같네요. 방법이 따로 있나요?
유시민:오늘점심은피자시켜먹었어요. 떨어진사람이식당돌아다니면서 인사받기도민망하고 왠지좀그래서^^;;;;;;
Kyuhwan Yun:@HeyMrJee 요즘 모기들이 진화하고 있나봐요 ㅎㅎ
유시민:자꾸무효표논란이있고 누가찍었니안찍었니 얘기들이나오니 마음이무거워서 긴글하나올렸습니다.
너무길어서트윗에는못썼어요.www.usimin.net에올렸어요
Kyuhwan Yun:@kicu2000 오늘 아침 스포츠 뉴스에서 스페인 1.5군이 출전했다고 했음 ㅋ
오상영:김연아 금메달을 국제기록문화전시회에서 보고 왔습니다. http://yfrog.com/0diavvj
JK Jee:http://bit.ly/dx5eQK “방송사에서는 물고기를 방류하는 현장 화면을 찍지 못해 보도를 못한다고 말한다.
그럼 천안함 사건의 경우 어뢰가 터지는 순간을 방송사 기자들이 직접 봐서 관련 보도를 내보내고 있느냐.”
김주하:성적에 상관없이 우리모두 하나됨이 더욱좋죠^^ 바램은 우승! ㅎㅎ RT @talkeee: @kimjuha 이번 월드컵
한국대표팀 성적 예상 어떻게 하시나요 ^^
최용석:아…넵 허승준님 반갑습니다…즐거운 주말보내세요…^^ RT @SJHuh: @myclex 어제 인사드린 허승준입니다 ^^ 강연
잘 들었습니다. 지나치게 편안한(응?!!) 분위기 속에서의 강연이라 힘드셨을 … http://dw.am/L2zCi
김주하:계정을 선물받고 시작했어요. RT @MobiusHolic: @kimjuha 김주하아나운서님은 어떤계기로 트위터를
시작하신건가요?
JK Jee:@kyuhwany 예리한 모기인걸…
김주하:네. 예전 PC 통신시절에 바로만나자는 것을 번개라고 @kimseongjoo 님께서 시작하셨다고 알고 있습니다. RT
@Ruingarden: @kimjuha 혹시 번개라는 단어가 어떻게해서 나왔는지 아세요? 하늘에서 내리는 번개말구요ㅋㅋ갑자기
궁금해져
Autodesk Korea:[이벤트] 솔루션데이행사 http://durl.kr/mg9y 를 RT & 행사등록 회원ID를
보내주신 10분께 달콤쌉사름한 던킨교환권(6천원)을 드립니다! 마감6시/발표6시반! #autodesk_event
CNN Breaking News:BP positioning cap over ruptured well in Gulf of
Mexico. Watch live http://live.cnn.com/
Autodesk Korea:[이벤트 예고] 솔루션데이 3번째 트윗이벤트 공지합니다! 던킨도너츠 교환권 10분의 주인공은
누구일까요? 두둥~이벤트는 11시에 소개되고 당첨자는 6시반 발표!~많은 참여부탁드려요~#autodesk_event
YONG HO LEE:@HeyMrJee 축구 스페인이 1.5가 출전한 느낌이~~ ㅎㅎ
김주하:아닙니다!! 모꼬지 신청하시면 @twtbs에서 DM 으로 안무 영상 보내드려요. RT @ehdwnek: @kimjuha
주하님~똑같이하는거에요??도레미송으루?? ㅋ
김주하:제 춤이 그리 보고싶으세요? ㅠㅠ RT @ROSAinSeoul: @kimjuha 네! 받은지 이틀정도되었어요 밥먹고
소화시키면서 연습했는데요 한번만해도 헥헥 아나운서님도 그간 바쁘셨으니 오늘 맹연습 하셔야죠^^ 자봉만하지 말고 함께해요!^^

  • DirectMessage 보내기
Place p = twitter.getGeoDetails("thatseeyou");
System.out.println("name:" + p.getName() + ",country:" + p.getCountry() + ",fullname:" + p.getFullName() +
    ",placetype:" + p.getPlaceType() + ",street address:" + p.getStreetAddress() + ",URL:" + p.getURL());
[결과]
오과장님이 수신 확인해 줌


  • GeoQuery 하기
GeoQuery gq = new GeoQuery("74.125.71.104");     // 74.125.71.104 : google.com
ResponseList list = twitter.getNearbyPlaces(gq);
for(Place p : list) {
    System.out.println(p.getFullName());
}
[결과]
San Jose, CA
Fremont, CA
Palo Alto, CA
West Santa Clara, CA

  • Search 하기
Query query = new Query("김연아");
QueryResult result = twitter.search(query);
List tweetList = result.getTweets();
for(Tweet tweet : tweetList) {
    System.out.println("[" + tweet.getFromUser() + "] : " + tweet.getText());
}
[결과]
    [Last.fm] 이승기 – Smile Boy (Rock Ver.) (with 김연아): http://www.last.fm/music/%EC%9D%B4%EC%8A%B9%EA%B8%B0 http://bit.ly/9xoB1x
    [khmer365] : [MV HD]Lee Seung Gi (이승기) & Kim Yuna (김연아) – Smile Boy (스마일 보이): <!– // –><![CDATA[
    var oldLoad = window... http://tinyurl.com/2uo8byc
    [cathrinepark] : http://sori.la/567Sx ♥ 승리의 함성 (The Shouts Of Reds Part 2) (Featuring 김연아)-빅뱅 #soribada
    대~~ 한민국 승리의함성
    [anidia80] : @WizardJinny 김연아 식단..
    [meisiank] : #nowplaying The Shouts Of Reds Part 2 (Feat. 김연아) ♪ Bigbang ft Trans Fixion http://bit.ly/b9lPi1 via @twitbird
    [chacannara] : @refreshmyself 이쁘니 왔네?! 김연아… 비싸지…
    [zzambo] : fallowing 김연아
    [jedicat1] : ^^ 대박.뭐라 말할 수 없음 ..RT @daidai4141: RT @nubesradi: RT @gomdal: 아놔 ㅋㅋ RT @Jooru: ㅋㅋ RT @JunorArt: ㅋㅋ 김연아 코스프레 랰ㅋㅋ 촘 쩌네요 ㅋㅋ http://j.mp/dydJPu
    [nanibasuki] : Check this video out — [MV HD]Lee Seung Gi (이승기) & Kim Yuna (김연아) – Smile Boy (스마일 보이) http://youtu.be/_S1mvnOK2aY
    [RudyWorld] : @LovelyGumiii 야 김연아
    [kkakjangee] : [MV] 김연아 & 이승기 – Smile Boy http://goo.gl/yEKG
    [stickjin] : #nowplaying
    빅뱅 @BigBangOfficial ♪ 승리의 함성 (The Shouts Of Reds Part2) (Feat. 김연아)
    - YouTube http://tln.kr/5ltr
    [lunasaur] : ♥ 승리의 함성 (The Shouts Of Reds Part 2) (Feat. 김연아) by 빅뱅(Bigbang), 트랜스픽션(Trans Fixion) #lastfm: http://bit.ly/bo6nID
    [YuNarsha] : @anicheng @TrendReportFil 김연아 선수의 트위터는 @Yunaaaa 가 맞습니다. =)
    [Yellsvan] : RT @eunmars: @keybaksa @jaed74 @lec3660 @baekban @rosepeche @ad1gio  김연아 방송 결방이 결실을 맺기를 바랍니다. ;


6. 기타
  • 다음의 링크를 보면, Twitter API로 할 수 있는 일들을 예상할 수 있을 것임 (http://twitter4j.org/en/javadoc/index.html)

    예) Tweet 읽기/쓰기, 친구 목록 가져오기, Follower 가져오기, 위치정보 가져오기, Trend 조회, DM 발송/조회, 스팸 처리, 타임라인 조회, Status 조회 등

댓글

Designed by JB FACTORY