2. 트위터(Twitter) API 사용하기



트위터(Twitter)는 미국 샌프란시스코 지역의 팟캐스트 업체인 오데오(Odeo, Inc.)의 에번 윌리엄스와 노아 글래스가 시작한 연구 프로젝트의 산출물이다. 기존의 단문 문자 서비스(SMS: Short Message Service)를 편리하게 사용하여 소규모 그룹내에서 소통하고자 하였으며 이를 위하여 SMS와 유사한 트윗(tweets)이라 불리우는 단문 메시지와 유사한 방식을 설계하였다.

트위터의 글은 블로그와 같이 장문의 형태를 허용하는 것이 아니라 미국의 SMS를 수용할 수 있도록 설계되어 최대 140자의 내용을 올릴 수 있다(실제 미국의 SMS는 160자를 지원하고 있지만, 트윗에서는 사용자의 아이디등을 입력하기 위하여 140자를 사용할 수 있다).

전송된 트윗은 사용자의 프로필 페이지에 표시되며 서로 연결된 사용자에게 전달된다. 전송방법으로는 RSS(Rich Site Summary: 뉴스나 블로그 사이트에서 활용하는 콘텐츠 방식으로 전문의 내용을 전송하는 것이 아니라 요약된 정보만을 제공하는 형식), 전용 클라이언트인 트윗덱(TweerDeck), 트위티(Tweetie)등이 다양하게 사용된다.

트윗이 업데이트 되는 경우에는 그 사용자를 따르는(팔로우: Follow) 다른 사용자에게 즉시 전송되어 관심사를 함께 공유할 수 있어 실시간 대화와 유사한 방식으로 활용되고 있다.



2.1 트위터 가입



트위터에 가입하기 위하여 트위터 홈페이지(https://twitter.com)에 접속하면 [그림 1]과 같이 초기 화면이 나타나고 오른쪽 상단에 [가입하기] 버튼이 활성화 되어 있다.

[그림 1] 트위터 사용자 가입 페이지



[가입하기] 버튼을 누르면 [그림 2]와 같이 간단한 신원 정보를 확인한다

[그림 2] 트위터 가입 정보 입력



이름, 휴대폰 또는 이메일 주소와 비밀번호를 입력한다. 트위터의 경우에는 사용자 계정을 활성하기 위하여 본인 인증을 이메일 또는 휴대전화 번호를 사용하므로 자신이 수신 받을 수 있는 정확한 정보를 입력하여야 한다. 정보를 입력한 후 [가입하기] 버튼을 누르면 [그림 3]과 같이 휴대전화 번호를 요청한다.

[그림 3] 휴대전화번호 입력



휴대 전화번호의 경우 계정에 대한 인증을 SMS를 이용하여 보안성을 조금더 확보할 수 있는 장점을 가지고 있으나, 트위터만 사용하게 되는 경우 개인 정보에 민감한 사용자는 건너뛰어도 상관없다. 그러나 앱을 등록하기 위해서는 트위터 계정에 휴대전화번호가 기입되어 있어야 한다. 만약 이 단계에서 입력하지 않은 경우에는 등록 후 개인 정보 설정에서 추가할 수 있다. [다음] 버튼을 누르는 경우에는 정확한 휴대전화 번호 형식을 입력하여야 하며, 입력하지 않는 경우에는 하단의 “건너뛰기” 링크를 클릭하면 [그림 4]와 같이 사용자 아이디를 선택하는 화면이 나타난다.

[그림 4] 트위터에서 사용할 사용자 아이디 입력



본인 인증을 위해 사용하는 이메일 주소 또는 휴대전화번호는 변경이 불가능하지만 사용자 아이디의 경우에는 나중에 중복되지 않는 사용자명이면 언제든지 변경할 수 있다. 중복되지 않는 아이디를 선택한 후 [다음]을 클릭하면 [그림 5]와 같이 기본 정보가 입력된 사용자 계정이 등록된다.

[그림 5] 트위터 가입 완료



재미있는 것은 영문으로 사용자명을 입력하였는데 트위터에서 한글로 변경하여 표시한다. [시작해볼까요?]를 클릭하면 관심사등을 기반으로 하여 추천 트위터나 팔로워(follower)등을 설정할 수 있는 기능을 제공하지만 개발자 계정 확보와는 상관없으므로 관심있는 독자는 추가 설정을 하기 바란다. 계정의 완전한 활성화를 위하여 가입시 입력한 메일을 확인하면 [그림 6]과 같이 활성화를 위한 링크가 포함된 메일이 수신된 것을 확인할 수 있다.

[그림 6] 트위터 가입 완료를 위한 계정 활성화 메일



수신한 메일의 [지금 확인하기] 버튼을 누르면 트위터의 모든 계정 설정이 완료되고 [그림 7]과같이 생성된 트위터의 메인 페이지로 이동한다.

[그림 7] 생성된 트위터 계정



이제 기본적인 트위터 계정이 생성되었으므로 개발자 계정을 얻도록 한다. 개발자 계정에 가입하고 신규 앱을 작성하면 트위터에서 제공해 주는 API를 사용할 수 있다.



2.2 트위터 앱 등록



트위터 앱 등록하기 위하여 트위터 개발자 페이지(https://dev.twitter.com/)로 이동하면 개발자 초기 화면이 [그림 8]과 같이 나타난다.

[그림 8] 트위터 개발자 홈페이지



상단의 메뉴중에 [My App]을 선택하면 [그림 9]와 같이 내가 등록한 앱을 관리할 수 있는 화면으로 이동한다.

[그림 9] 앱 관리 화면



현재 어떠한 트위터 앱도 등록하지 않은 상태이므로 화면 중간에 [Create New App]이라는 버튼만 보일 것이다. 이제 새로운 앱을 위하여 [Create New App]을 선택하면 [그림 10]과 같이 앱 등록 화면이 나타난다.

[그림 10] 트위터 앱 신규 등록 화면



신규 앱을 생성하기 위하여는 기본적으로 다음과 같은 사항을 입력하여야 한다.

항목 내용
Name 트위터 앱의 고유 이름(중복되지 않는 이름)
Description 앱의 간단한 설명(최소 10자 이상 200자 이하)
Website 개발한 정보를 가지고 있는 웹 사이트. 초기에는 URL 형식에 맞추어 입력하면 상관없다
Callback URL OAuth 인증시 인증 결과를 반환 받을 URL.
우리는 웹 서비스가 아닌 클라이언트 프로그램을 제작하므로 입력하지 않아도 된다



개발자 동의 내용을 확인한 후 체크하고 [Create Your Twitter Application]을 선택하면 [그림 22]와 같이 신규 앱이 등록된 것을 확인할 수 있다.

[그림 11] 트위터 앱 등록 완료



정상적을 앱이 등록된 경우 앱의 커스터머 키(Customer Key)라고 불리는 ‘API Key’가 발급된다(발급 키의 내용은 각자 다르게 나타날 것이다). 실제 앱에서 트위터의 API를 사용하기 위해서는 ‘API Key’ 와 커스터머 시크릿(Customer Secret)이라 불리는 비밀번호인 ‘API Secret’키 의 쌍이 필요하다. ‘manage keys and access tokens’라는 ‘API Key’ 우측의 링크를 클릭하거나 상단 탭의 [Keys and Access Tokens]를 클릭하면 [그림 12]와 같은 키 관리 화면이 나타난다.

[그림 12] 앱의 ‘API Key’ 및 ‘API Secret’의 발급 확인



‘API Key’와 ‘API Secret’은 해당 앱이 API에 접근할 수 있는 중요한 키값으로 외부로 유출이 되었을 경우에는 악용될 수 있는 소지가 있다. 이에 트위터에서는 ‘API Key’와 ‘API Secret’을 재생성 할 수 있게 도와주며, 변경되는 경우 기존의 앱은 더 이상 트위터 API를 사용할 수 없게 된다.

트위터는 OAuth 인증 방식을 사용하기 때문에 기본적으로 트위터에 접근하기 위한 토큰 값을 요구한다. 일반적으로 웹(Web) 어플리케이션의 경우에는 Callback URL(돌아오는 URL?)을 지정하면, 인증 로그인 창을 띄운 후 정상적인 인증이 되어 있을 때 Callback URL 화면으로 자동 이동하게 된다. 그러나 클라이언트 어플리케이션의 경우에는 웹 페이지를 띄워 아이디, 비밀번호 등을 넣고 인증을 거쳐 Token을 가지고 오기에는 불편하기에 트위터에서는 Access Token 인증을 위한 ‘key’와 ‘secret’을 제공하여 준다. 하단의 [Create my access token]을 클릭하면 [그림 13]과 같이 토큰이 발급된 것을 확인할 수 있다.

[그림 13] 억세스 토큰(Access Token)의 발급



‘Access Token / Secret’ 역시 ‘API Key / Secret’과 같이 유출된 경우 재 발급이 가능하나, 가급적이면 관리에 신경 쓰는 것이 좋다. 이제 트위터를 검색하기 위한 기본적인 설정이 끝났다. 우리는 이번 절에서 트위터에 가입하고, 트위터 앱을 하나 등록한 후 트위터 API에 접근하기 위한 ‘API Key / Secret’ 및 ‘Access Token / Secret’을 발급받았다.