Social

Twitter :: 인증

트위터 REST API 를 사용하기 위한 인증 절차를 설명합니다.

class TwitterOAuth

  • __construct($consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL)
  •  OAuthConsumer getRequestToken($oauth_callback = NULL)
  •  string getAuthorizeURL($token, $sign_in_with_twitter = TRUE)
  • array getAccessToken($oauth_verifier = FALSE)

 

Code snippet

  • request token
session_start();

// library 로드, 변수 설정 등
require_once('./libs/twitteroauth.php');
$consumer_key = '[consumer key]';
$consumer_secret = '[consumer secret]';
$domain = 'http://' . $_SERVER['HTTP_HOST'] . '/';

// TwitterOAuth object 생성
$connection = new TwitterOAuth($consumer_key, $consumer_secret);

// request token 발급
$request_token = $connection->getRequestToken
        ($domain . '[access token 처리 url]');

// 결과 확인
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;

}// switch ($connection->http_code)
  • access token
session_start();

// library 로드, 변수 설정 등
require_once('./libs/twitteroauth.php');
$consumer_key = '[consumer key]';
$consumer_secret = '[consumer secret]';

// 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'];

 

External Links

댓글

댓글 본문
작성자
비밀번호
  1. 좋은강의
    $connection=$connection->http_code;
    결과과 왜 저는 400 에러가 나올까요 ? key ,sercret ,callback url 다 올바르게 적어주엇는데..
  2. 쌈닭
    감사합니다...
    이해가 쏙쏙 잘되네요~~~ ^^
  3. Lee. Seong Gwan
    twitteroauth example 에서 다음 코드를 가져와서 해결했습니다. twitterOAuth object 생성하기 전에
    if (isset($_REQUEST['oauth_token']) && $_SESSION['oauth_token'] !== $_REQUEST['oauth_token']) { $_SESSION['oauth_status'] = 'oldtoken';session_start();session_destroy(); header('Location: ./oath_test_start.php');}
    이렇게 해주니, access_token을 제대로 가지고 오네요.
    대화보기
    • Seonggwan Lee
      좋은 강의 잘 듣고 있습니다.저는 access_token을 프린트하는 부분에서 아무것도 나오지 안아요;;혹시나 해서 $connection을 프린트 해보니 이렇습니다. costomer_kwy와 secret은 지우고 '-'로 표시해서 올립니다.
      TwitterOAuth Object ( [http_code] => [url] => [host] => https://api.twitter.com/1/ [timeout] => 30 [connecttimeout] => 30 [ssl_verifypeer] => [format] => json [decode_json] => 1 [http_info] => [useragent] => TwitterOAuth v0.2.0-beta2 [sha1_method] => OAuthSignatureMethod_HMAC_SHA1 Object ( ) [consumer] => OAuthConsumer Object ( [key] => --------------- [secret] => ----------------------------------[callback_url] => ) [token] => ) Array ( [ ] => )
    • 프시쵸
      =ㅅ= 계속 글이 써지는군하...
    • 프시쵸
      이런....여기서 바로 삭제가 안 되는군요...
    • 배대근
      좋은 글 감사합니다!
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기