본문 바로가기

카테고리 없음

[Twitter] 트위터 사용자 정보 가져오기 API

반응형

참고 : https://opentutorials.org/module/53/859



트위터 사용자 정보를 받아오기위해서는 우선 트위터 어플리케이션을 사용할

   개발자 계정에 휴대폰 번호가 등록되어 있어야 한다.









01. 제일 먼저 트위터 Application Management(https://apps.twitter.com/)에 등록을 해야한다.

     사이트에 접속해서 Create New App을 클릭한다.






02. 트위터 어플리케이션 제작을 위한 기본정보를 Create an application에서 입력한다.

 ① Name : 어플리케이션의 이름을 지정한다.

 ② Description : 생성하는 어플리케이션에 대하여 설명하는 글을 기입한다.

 ③ Website : 생성하는 어플리케이션을 사용할 웹사이트의 URL 주소를 기입한다.

 ④ Developer Agreement : 개발자 약관에 동의 하기위해 체크박스를 체크한다.

 ⑤ Crate your Twitter application : 어플리케이션을 만든다.






03. 위와 Create an application의 모든 내용을 입력하였다면 아래와 같은 Details 페이지가 보여질 것이다.






04. 앱이 생성되었다면, 이제 Permissons 탭으로 이동하여 사용자 권한을 변경한다.

 ① Permissons 탭으로 이동한다.

 ② Read and Write 를 선택하여 읽기외에 쓰기 권한까지 가져올 수 있게 설정한다.

    (기본적으로 처음 생성하면 Read only)로 설정되어 있다.

 ③ Update Settings을 클리하여 사용자 권한을 변경하여 둔다.






05. 이제 twitteroauth 라이브러리(https://github.com/abraham/twitteroauth)를 다운받아야 한다.

 ① Clone or download를 클릭한다.

 ② Download ZIP을 클릭하여 해당 라이브러리를 다운받는다.





05. 좀더 정리가 되야 할것 같아서 05번 문항은 수정한다. 첨부파일은 아래 올려둔 파일을 다운받기를 권장한다.


첨부파일 : lib.zip





06. 다운받은 twitteroauth-master.zip 파일의 압축을 해제하고 파일명을 lib로 변경한다.






07. 다시 트위터 Application Management(https://apps.twitter.com/)에서 연동에 필요한 Consumer값을 확인한다.

 ① Keys and Access Tokens 탭으로 이동한다.

 ② Consumer Key, Consumer Secret의 키 값을 복사하여둔다.






08. 이제 트위터에 연동할 페이지를 만들어 두어야 한다.

     (해당 코드에 사용될 $consumer_key, $consumer_secret의 값은 07번에서 복사해둔 그 값이다.)

 twitter_request_token.php

<?php
session_start();
 
// library 로드, 변수 설정 등
require_once("./lib/twitteroauth.php");
$consumer_key = "LX9ewAqZj76gKB0JeCtBTLrvq";
$consumer_secret = "g80L73N8SaUZGjn4Bzbit0wYbYzLOmeBytZ8jG7GHwK0BtNhZf";

// TwitterOAuth object 생성
$connection = new TwitterOAuth($consumer_key, $consumer_secret);
 
// request token 발급
$request_token = $connection->getRequestToken();


// request token은 사용자 인증이 보내질 페이지다. 아래와 같은 방식으로 기술하여서도 해결이 가능하다.
// $domain = "http://" . $_SERVER['HTTP_HOST'] . "/";
// $request_token = $connection->getRequestToken($domain . "wicked_home/twitter_access_token.php");
 
// 결과 확인
switch($connection -> http_code) {

    case 200 :

        // 성공, token 저장
        $_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
        $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
 
        // 인증 url 확인
        $url = $connection->getAuthorizeURL($token);
 
        // 인증 url (로그인 url) 로 redirect
       
header("Location: " . $url);

    break;
 
    default:

        echo "Could not connect to Twitter. Refresh the page or try again later.";

    break;
}
?>





09. 사용자의 트위터 접속정보를 가져올 페이지를 제작한다.

 twitter_access_token.php

<?php
session_start();
 
include "https://api.twitter.com/1.1//users/show.json";

// library 로드, 변수 설정 등
require_once("./lib/twitteroauth.php");
$consumer_key = "LX9ewAqZj76gKB0JeCtBTLrvq";
$consumer_secret = "g80L73N8SaUZGjn4Bzbit0wYbYzLOmeBytZ8jG7GHwK0BtNhZf";
 
// Request token 을 포함한 TwitterOAuth object 생성
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
 
// 토큰 수령
$access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);
$token = $access_token['oauth_token'];
$token_secret = $access_token['oauth_token_secret'];

echo "<pre>";
print_r($access_token);
echo "</pre>";
?>






10. 이제 다시 트위터 Application Management(https://apps.twitter.com/)에 접속하여

    완성되었던 어플리케이션에서 추가적인 작업을 해주어야 한다.

 ① Settings 탭을 선택한다.

 ② Callback URL에 위 0번에서 생성한 twitter_access_token.php의 경로를 입력한다.

 ③ Update Settings을 선택하여 추가사항을 저장한다.





11. 이제 08번에서 생성한 twitter_request_token.php를 실행시키면 아래와 같은 화면을 볼 수 있다.

     앱 인증을 클릭하여 사용자 정보를 받아오도록 하자.





12. 앱 인증이 되는동안 보여지는 로딩 화면





13. twitter_access_token.php가 실행이되면 아래아같이 사용자 값을 받아오는 것을 확인 할 수 있다.





개인 사용자 프로필을 가져오는 것은 아래 참조(http://wickedmagic.tistory.com/496)

반응형