OPEN API

twitter api 사용법

ssNi 2013. 3. 31. 15:12

트위터 api 사용법 정리
1. 동작 원리
1) 연동할 어플리케이션을 등록한다.
2) 등록하게되면 consumer key와 consumer secret을 받는다.
3) 명시된 Request Token url로 이 키를 이용해 요청하게 되면 인증 url로 가서 이 어플에서 계정 접근을 허용할 것인지 묻는다.
4) 그리고, 허용하게 된다면 Access Token url로 이동해 Access Token을 발급 받는다.
5) 이 받게 된 Access Token을 이용해서 해당 어플리케이션은 글쓰고, 정보를 불러올 수 있게 된다.
2. 예제 소스 : http://github.com/abraham/twitteroauth/downloads 
3. 어플리케이션 등록
트위터에 로그인하고 좌측 하단에 보면 Developers가 있다. 들어가서 로그인하고 create an application에서어 어플리케이션을 등록한다.
Application Details
Name : 어플리케이션의 이름
Description : 어플리케이션의 대략적인 설명
Web Site : 어플리케이션의 리얼 url(중요 - 실제로 사용하는 url을 입력한다. ex,로컬작업 시 - http://192.168.0.1:8080/twitterTest/)
Callback URL : Oauth인증을 사용하게 될 경우 인증 후 리다이렉팅될 페이지 URL 아주 중요.!!!, api lib에 기입해야하는 것과 일치해야함!!!!!!!  (ex, 로컬 작업시 - http://192.168.0.1:8080/twitterTest./favList.do)
그 다음 Recreate my access token을 클릭해서 access token을 받는다.
라이브러리에서는 callback.php이므로 예제를 테스트해볼 때에는 callback.php로 지정해주고, 바꾸고 싶으면 settings에 들어가서 바꾸면 된다.
Details에 있는 부분에서 consumer key, consumer secret을 볼 수 있고, callback url을 볼 수 있다.
4. 라이브러리에 있는 config.php에 있는 값들 입력한다.
consumer key, consumer secret, callback url을 정확하게 입력한다. 
5. /twitteroauth/twitteroauth.php에 인증 경로를 http://twitter.com/oauth/access_token ~ .. 앞에 api.를 뺀다.
6. index.php를 실행시킨다. 그러면 출력이 될 것이다. 
7. index.php라는 소스에서 $content = $connection->get('account/verify_credentials'); 라는 부분이 있는데, 이 부분은 twitteroauth.php에서 get함수를 보면 $url, $parameters로 값을 받으므로 
$connection->get('url','parameter')로 구성이 된다. 

twitter api에서 Resource URL : http://api.twitter.com/1/account/verify_credentials.format 라고 되어 있는 것 중에 account/verify_credentials 부분을 적으면 되고, 
넘길 파라미터가 있는 경우 $connection->post('friendships/create', array('id' => 9436992)); json 형식의 배열 값으로 parameter로 전달한다. 
$connection->post,get,delete이렇게 있으므로 twitteroauth.php 에서 함수를 찾아 확인 후 사용하면 된다.
여기에 있는 설명 외에 함수들도 tiwtteroauth.php에 있으므로 참고........

8. 예제를 출력해보면 json형태의 배열로 출력이 된다. 
이를 자신이 원하는 값만 가지고 와서 출력하려면 이는 오브젝트형태이므로 값을 가지고 올 때,
$screen_name= $content[0]->screen_name; 이와 같은 형태을 따른다.
->로 노드 접근.
* 여기서 드는 의문점 ; facebook은 $content[o][id]이 와 같은 형태(?)로 가지고 오는데 이와 차이점은?
이중배열, 다중배열, 다차원 배열에서 json값 가지고오기, xml값 가지고 오기 => 이 부분 공부 더하기.

* tiwtter는 euckr의 charset형태로 값을 가지고 오지 않으므로 euckr형태로 값을 보내거나 받을 때 utf-8로 값을 바꾸어줘야한다.
* 사용자 검색은 oauth 인증을 받아야 검색이 가능하다...로그인을 하지 않고 친구 검색을 할 수 없다.

'OPEN API' 카테고리의 다른 글

open api 링크들  (0) 2013.03.31
유튜브, 구글리더, 페이스북 검색 api  (0) 2013.03.31
api 관련 사이트  (0) 2013.03.12
야후 날씨 API  (0) 2013.03.11
날씨 API 관련 사이트  (0) 2013.03.11