ㅁ 우선, API v1 은 더이상 사용되지 않는다.
API v1 Retirement is Complete - Use API v1.1
https://dev.twitter.com/blog/api-v1-is-retired
https://blog.twitter.com/2013/api-v1-retirement-is-complete-use-api-v11
2013-06-11 에 포스팅된 트워터 블로그에 API v1 이 완전히 종료되었으며 v1.1 로 완전 전환되었다고 올라왔다.
그리고, 지금은 v1 REST 서비스는 서비스 되지 않는다.
API v1 로 만들어진 많은 서비스들이 동작하지 않을 것으로 보이며, v1.1 로 전환하여야 했을 것이다.
ㅁ v1 과 v1.1 의 차이점
v1 과 v1.1 의 가장 큰 차이는..
v1 때는 statuses/user_timeline 이나 users/show 등을 별도 인증 없이 호출하면 xml 로 반환해 주었다.
그러나, v1.1 에서는 그냥은 안준다. OAuth 인증을 해야 준다.
두번째 차이는..
v1.1 API 에서는 json 데이타로만 서비스된다. xml 데이타로는 반환되지 않는다.
v1 을 이용하던 대부분의 어플들이 xml 로 작성했을 텐데, 이또한 큰 변화라 생각된다.
본인도 트위터 글을 api 로 불러와서 보여 주는 페이지가 있어서,
수정을 위해서 api v1.1 oauth php 버전을 검색을 해 보았다.
코드 수정을 위해 검색을 하는 데 뭔가 좀 이상하다는 느낌이 든다.
분명 v1 이 종료된 것이 최근인데, 최근의 v1.1 oauth 관련 글이 별로 없다.
oauth 에 대한 글을 거의 2010 년도 전후의 글들이다.
2가지 정도로 가능성을 예측할 수가 있을 것 같다.
하나는, 옛날에 이미 다 수정해서 바꿔 버린 것이다. 개발자들이 발빠르게 대응했다?
다음은, api 바뀐 게 의미가 없어져 버린 것이다. 이젠 트워터를 안쓴다는 것 아닐까? ^^
하여간, API 를 변경해 보자..
나는 간단히 특정 screen_name 의 user_timeline 만 불러오기를 원하는데, 검색되는 소스들은 너무 복잡하다.
그리고, 내가 원하는 소스는 보이지 않는다..
검색된 페이지에 있는 각종 링크들도 몇년된 것들이라 바뀌거나 없어진 링크들이 많다..
최신 정보들로 다시 작성해 본다.
ㅁ 트워터 API v1.1 OAuth 로 user_timeline 가져오기 PHP 버전
1. 우선 트위터 개발자 사이트에서 OAuth 키 발급받기
사이트 : https://dev.twitter.com/apps
오른쪽에 있는 Create a new application 버튼을 눌러 키 4가지를 얻는다.
consumer_key, consumer_secret, access_token, access_token_secret 이 네가지 키를 발급받는다.
Callback URL 은 트위터 포스팅 등에는 필요한 듯 하나, 단순히 user_timeline 을 가져오는 데는 필요없어도 된다.
2. twitter oauth 모듈 설치하기
트위터 사이트에서도 언급되어 있다는, 트위터 REST API 의 OAuth 지원을 위한 PHP 라이브러리인 twitteroauth
https://github.com/abraham/twitteroauth 에서 releases 에 들어가 마지막 버전을 다운 받는다.
현재 마지막 버전이 0.2.0-beta3 으로, 이것도 3년전 버전이다. ^^
다운받아서 홈페이지 소스가 있는 서버에 올려서 적당한 위치에 압축을 푼다.
3. 소스 작성하기
<?php
// twitteroauth 중에서 필요한 것 인클루드 시킨다. OAuth.php 파일과 같은 폴더에 있는 것으로, OAuth.php 도 인클루드 된다.
include_once("../twitteroauth/twitteroauth/twitteroauth.php");
// 발급받은 키값을 변수에 입력해 준다.
$consumer_key = ''; // Consumer key
$consumer_secret = ''; // Consumer secret
$access_token = ''; // Access Token
$access_token_secret = ''; // Access Token Secret
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$query = "http://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterapi&count=10";
$content = $connection->get($query);
// 찍어 본다.
echo print_r($content,true); // 배열로 넘어오기 때문에 print_r 로 찍어본다.
// 수신되는 데이타는 UTF-8 문자셋으로 된 배열 값이다.
// 수신 데이타 가공하는 법은 http://noe-interactive.com/demo/!/twitterapi 를 참고하자.
?>
** 참조
https://dev.twitter.com/docs/auth/oauth/single-user-with-examples
http://noe-interactive.com/demo/!/twitterapi
http://tweetpress.fr/codetwitter/api-twitter-requetes-version-1-1/
https://github.com/abraham/twitteroauth
https://github.com/abraham/twitteroauth/releases
'컴퓨터' 카테고리의 다른 글
apache2 에서 mod_cband 설치하기 (0) | 2013.09.16 |
---|---|
해당 도메인의 메일서버 찾는법 (0) | 2013.09.03 |
Easy Paint Tool SAI 다운로드 (1) | 2013.08.27 |
메시업(Mashup) 서비스 (0) | 2013.08.25 |
구글 크롬(Chrome), 관리자가 업데이트를 사용 중지했습니다. 라고 나올때 (5) | 2013.08.25 |