[JAVA] 트위터 API 사용하기

Jay Kim·2022년 6월 26일

자바로 트위터 API를 사용해서 트윗하기를 해봤다.

대부분 예시가 파이썬 기준이라, 파이썬으로도 하긴 했지만 자바로도 하고싶었고, 해야했다.

미니 프로젝트라고 하기도 민망하지만 어쨌든 입력한 키워드들을 받아서 서버로 받아와 100개의 트윗을 생성할 수 있도록하는 토이 프젝을 하려했다.(나중에는 트윗 개수도 설정해서 트윗할 수 있도록 발전시켜야지. 는 우선 30일까지 완성해야지.)

가장 큰 문제는 gradle을 처음 써봐서 설정하는데 문제가 있었고, API를 사용하는 것의 문제였다.

자바로 트위터 API 사용하기.

  1. 트위터 개발자 계정을 생성해서 Api Key 및 token을 생성한다.
  2. 트위터 라이브러리 다운받기
  3. API 사용하기

https://twitter4j.org/ko/index.html

해당 사이트로가면 라이브러리를 다운 받을 수 있다.

다운 받은 파일을 라이브러리에 추가한다. gradle에서는 build.gradle에 dependencies 추가를 해주면 사용할 수 있다.

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	implementation files('libs/twitter4j-core-4.0.7.jar')
}

라이브러리 추가 한 후, 우선 테스트를 해야해서 테스트 자바 파일을 만들었다.

	public static void main(String[] args) {

		try (ConfigurableApplicationContext ctx = SpringApplication.run(TwitterTest.class, args)) {
			TwitterTest m = ctx.getBean(TwitterTest.class);		

			// twitter 객체 초기화 + consumer 인증 set
			twitter = TwitterFactory.getSingleton();
			
            //자신의 twitter 봇의 api key를 입력
			twitter.setOAuthConsumer("API KEY","SECRET API KEY");

			try {
            	//토큰 가져오기 
				requestToken = twitter.getOAuthRequestToken();
			} catch (TwitterException e) {
				e.printStackTrace();
			}
			System.out.println(requestToken.getAuthorizationURL());
			
            //위의 URL을 통해서 받아온 토큰을 입력한다.
			finalAccessToken = new AccessToken("accesstoken","secrettoken");

			twitter.setOAuthAccessToken(finalAccessToken);
			try {
				// 계정명 획득
				User user = twitter.verifyCredentials();
				System.out.println(user.getScreenName());

				// 계정에 트윗 등록
				String msg = "트윗할 내용입력";
				Status status = twitter.updateStatus(msg);
			} catch (Exception e) {
				e.printStackTrace();
			}

		}
	}

이렇게 작성해놓으면 매번 토큰을 받아서 인증하지 않아도 properties 파일에 등록한 후에 토큰 및 api key들을 가져와서 바로바로 등록하여 쓸 수 있다.



출처
https://nato-blog.tistory.com/65

profile
회사에서 혼자 살아남는 중입니다.

0개의 댓글