상세 컨텐츠

본문 제목

[java] 자바에서 트위터 타임라인 트윗들 가져오기

헉!!/jsp, java

by 권태성 2013. 3. 7. 15:55

본문

먼저 트위터 API를 사용하기 위해서는 dev.twitter.com에서 개발자 등록을 하고 키들을 받아야 합니다.

그리고 자바에서 트위터 API를 사용하기 위해서는 http://twitter4j.org/에서 twitter4j 라이브러리를 받아서 프로젝트에 추가해야 합니다.

저는 메이븐을 이용하여 관련 라이브러리를 추가했는데요. 메이븐 정보는 아래를 참고하세요.

<!--repositories에 아래를 추가하세요.-->

      <repository>

         <id>twitter4j.org</id>

         <name>twitter4j.org Repository</name>

         <url>http://twitter4j.org/maven2</url>

         <releases>

            <enabled>true</enabled>

         </releases>

         <snapshots>

            <enabled>true</enabled>

         </snapshots>

      </repository>


<!-- dependencies에 아래를 추가하세요 -->
      <dependency>
         <groupId>org.twitter4j</groupId>
         <artifactId>twitter4j-core</artifactId>
         <version>[3.0,)</version>
      </dependency>


아래는 트위터에서 타임라인에 게시한 트윗들을 가져오는 소스 입니다.

    String CONSUMER_KEY = "발급받은 consumer key 값";

    String CONSUMER_SECRET = "발급받은 consumer secret 값";

    AccessToken accesstoken = new AccessToken("발급받은 access token 값", "발급받은 access token secret 값");

    Twitter twitter = new TwitterFactory().getInstance();

    twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);

    twitter.setOAuthAccessToken(accesstoken);

    User user = twitter.verifyCredentials();

    List<Status> statuses = twitter.getUserTimeline(); //여기서 getUserTimeline을 다른것으로 바꾸시면 다른 종류의 값들을 얻을 수 있습니다.

    System.out.println("show user TimeLine / user.getScreenName : " + user.getScreenName()); //사용자 이름 출력

    for(int i=0; i<statuses.size(); i++){

    System.out.println("@"+statuses.get(i).getUser().getScreenName() + "-" + statuses.get(i).getText()); //타임라인 출력

    }



원래 https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=kwontaeseong&callback=twitterCallback2&count=4 를 이용해서 xml이나 json으로 받아서 사용할 수 있었는데 올 3월부터인가 기존의 API는 폐지된다고 하여 OAuth를 사용하여 구현하였습니다.






관련글 더보기