자바라이브러리의 twitter4j를 이용하여 타임라인 목록을 출력해보도록 하겠습니다.
다운로드는 2가지 방법이 존재합니다.
http://twitter4j.org/en/index.html
위 사이트를 가셔서 twitter4j-x.x.x.zip파일을 다운로드 받으십니다.
받으신 다음 압축해제를 하신 후 lib 디렉토리에 존재하는
twitter4j-core-x.x.x.jar 파일을 본인의 lib 디렉토리내에 include 해주도록 합니다.
1 2 3 4 5 | < dependency > < groupId >org.twitter4j</ groupId > < artifactId >twitter4j-core</ artifactId > < version >4.0.2</ version > </ dependency > |
위처럼 twitter4j 관련 dependency를 pom.xml 에 추가해주도록 합니다.
이어서 consumer key, consumer secret, accesstoken 등을 받기 위하여
앱을 하나 생성해보도록 하겠습니다.
1. 트위터에 접속하여 앱생성하고자 하는 아이디로 로그인을 합니다.
"URL 접속 후 Create New App" 버튼 클릭을 합니다.
3. 하단 네모친 박스에 필수값들을 입력합니다.
1) Name : 앱의 이름을 작성
2) Description : 앱에 대한 설명인대 최소 10자이상 작성해주세요
3) Website : 실제 동작될 도메인을 작성해주시면 되는데
저는 로컬도메인을 사용하고자 하는데 "http://localhost:포트번호" 로는 접속이 안되는거 같습니다.
그래서 "http://127.0.0.1:포트번호" 로 작성하였습니다.
4) Callback URL : 타임라인 글쓰기와 같은 POST 기능을 사용할때 필요한거 같긴한대...
그냥 단순히 타임목록을 가져오고자 하므로 생략하도록 하겠습니다.
4. 약관동의
3번에 대한 작성이 완료된 후 스크롤을 하단으로 내리면
약관동의 하는 부분이 있는데 체크 해주신 다음
"Create your Twitter application" 버튼을 클릭합니다.
5. 기본앱 생성완료
위와같이 앱이 생성되었습니다.
이어서 access token 값을 생성해야 하므로
Keys and Access Tokens 탭을 클릭하여 액세스토큰을 만들도록 합니다.
6. Access Token 생성하기
이동하신 탭에서 하단에 Toekn Actions 영역을 보시면 "Create my access token" 버튼을 클릭합니다.
7. Access Token 생성완료
그럼 위처럼 Toekn Actions는 사라지고
Access Token / Access Token Secret 값이 생성된것을 확인 할 수 있겠습니다.
그럼 샘플코드를 적용하기 위하여 간단한 예를 들어보도록 하겠습니다.
JAVA프로젝트 생성후 다운로드 받은 JAR파일을 해당 프로젝트에 INCLUDE 한 후
Java Build Path -> Libraries -> Add Jars 로 JAR파일 INCLUDE해주었습니다.
※ 웹프로젝트는 lib 디렉토리 혹은 pom.xml에 dependency를 등록하셨다면 별도로 include 해주실 필요는 없습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public static void main(String ar[]) { try { AccessToken accesstoken = new AccessToken( "Access Token" , "Access Token Secret" ); Twitter twitter = TwitterFactory.getSingleton(); twitter.setOAuthConsumer( "Consumer Key (API Key)" , "Consumer Secret (API Secret)" ); twitter.setOAuthAccessToken(accesstoken); User user = twitter.verifyCredentials(); List<Status> list = twitter.getUserTimeline(); System.out.println( "타임라인 계정:" +user.getScreenName()); for (Status status : list) { System.out.println( "작성자:" +status.getUser().getScreenName()); System.out.println( "타임라인내용:" +status.getText()); } } catch (Exception e) { e.printStackTrace(); } } |
AccessToken 객체생성할때 필요 parameter와
setOAuthConsumer 필요 parameter들은
access token 생성한 "Keys and Access Tokens" 탭내에 모두 존재하므로
각각의 값들을 대입해주도록 합니다.
정상적으로 트위터 API 를 이용하여 타임라인의 목록이 출력되었습니다.
DEFAULT 20개의 타임라인 글밖에 나오지 않습니다.
더보기 및 한페이지에 글목록 수를 조절하고자 하신다면
twitter4j의 "Paging" 객체를 호출 후 기존 코드인 getUserTimeline() 메서드의
parameter로 넘겨주시면 되겠습니다.
페이징을 처리하고 싶으시다면
하단코드를 기존코드에 일부 적용해주시면 되겠습니다.
1 2 3 | //Paging(페이지번호,한페이지당출력글갯수) Paging page = new Paging ( 1 , 50 ); List<Status> list = twitter.getUserTimeline(page); |
by 개발로짜
JAVA 샘플 - org.w3c.dom을 이용한 XML파일 및 RSS API 파싱하여 데이터 읽어보기 (0) | 2014.11.25 |
---|---|
JAVA opencsv를 이용하여 csv 파일생성하기 (2) | 2014.10.24 |
자바 zxing를 이용하여 QR코드 생성 + 색상코드(hex,rgb,안드로이드그래픽색상) 적용법 (2) | 2014.10.16 |
자바 다운로드 유틸을 만들어서 웹서버에 등록되있는 파일을 다운로드 하자 (5) | 2014.10.07 |
자바 POI를 이용한 엑셀(xls,xlsx)에 들어있는 데이터들 읽어오기 (8) | 2014.10.07 |