2011-07-01 3 views
33

Facebook의 PHP SDK를 사용하여 제 웹 사이트에서 페이스 북 로그인을 매우 빠르게 할 수있었습니다. 그들은 매우 쉽게 액세스 할 수있는 변수 인 $user을 설정합니다.Twitter OAuth (PHP) : 시작하기에 좋은 기본 예제가 필요합니다.

나는 트위터의 OAuth 로그인이 작동하도록 노력한 적이 없다 ... 솔직히 말하자면, github 자료는 PHP와 웹 디자인에 비교적 새로운 사람이라면 혼란스럽고 쓸모가 없다. 많은 비공식적 인 내가 시도한 예제는 혼란 스럽거나 오래된 것입니다.

트위터 로그인 작업을하는 데 도움이 필요합니다. 로그인 버튼을 클릭하고, 내 앱을 인증하고, 로그인 한 사용자의 이름을 표시하는 페이지로 리디렉션하는 기본 예제를 의미합니다.

정말 고맙습니다.

편집 나는 abraham's twitter oauth의 존재를 알고 있지만, 그의 작업을 수행하기위한 지침은 거의 제공하지 않습니다. 여기

+0

에서 다시 일단 그래, 난 정말 작동이 이들 중 하나 찾고 있던 때 사용자 기본 정보를 가져 오는의 기본 예입니다 너무. 많은 사람들이 작동하지 않는 예제를 제공하는 것 같습니다. – cfrederich

+0

당신은 zend 프레임 워크와 같은 프레임 워크를 사용하고 있습니까? 그렇지 않으면 거기에 몇 가지 작업 예제가 있습니다. – BRampersad

답변

27

나는 github에서 아브라함의 twitteroauth를 시도했고 그것은 나에게 잘 작동하는 것 같다. 이것은 내가이 도메인, 말과 웹 호스트, www.example.com Twitter Apps-

  • 이동에

    1. 자식 클론에게 https://github.com/abraham/twitteroauth.git
    2. 업로드를하고 응용 프로그램을 등록 할 것입니다. 당신이 (당신이 http://www.example.com/twitteroauth에서 호스팅 아브라함의 twitteroauth 예를 사용한다고 가정)하는 필요의 변화는
      는) 응용 프로그램 웹 사이트 Callback.php은 (http://www.example.com/twitteroauth
      b)는 응용 프로그램 유형은 브라우저
      C) 콜백 URL이 http://www.example.com/twitteroauth/callback.php입니다 될 것입니다 될 것입니다
    3. 이렇게하면 CONSUMER_KEY 및 CONSUMER_SECRET을 얻을 수 있으며 config.php에서 twitteroauth 배포본에서 업데이트 할 수 있습니다. 또한 콜백을 http://www.example.com/twitteroauth/callback.php

    과 동일하게 설정하십시오. http://www.example.com/twitteroauth으로 이동하면 Twitter에 로그인하고 요청을 승인하고 index.php 페이지로 돌아갈 수있는 "Twitter에 로그인"을 받게됩니다.

    편집 : 예제는 작동하지 않지만 걱정하지 않아도됩니다. 위 단계를 수행하고 서버에 업로드하십시오. github 저장소에서 파일의 이름을 바꾸 었는지 확인하십시오 (예 : config-sample.php-> config).당신이 작업 예제를보고 싶다면 PHP

    , here

  • +0

    고마워, 그 작품 ...하지만 어떻게'$ 콘텐츠'배열의 특정 요소에 액세스합니까? '$ twittername = $ content [ 'screen_name'];을 시도하면 '치명적 오류 : 배열 형식의 stdClass 객체를 사용할 수 없습니다.' – tnw

    +3

    StdClass (PHP에서 사용되는 일반 빈 클래스)로 저장됩니다. $ content -> {screen_name} – rajasaur

    +3

    과 같이 화면 이름에 액세스 할 수 있습니다. 두 예제 모두 작동하지 않습니다. –

    2

    이 여기에 PHP를 사용하여 웹 응용 프로그램에 트위터의 OAuth API를 통합하는 단계를 안내하여 단계입니다 찾을 수 있습니다. 자습서를 따르십시오.

    http://www.smarttutorials.net/sign-in-with-twitter-oauth-api-using-php/

    당신은

    https://apps.twitter.com/

    그런 다음 당신이 트위터 응용 프로그램에 필요한 정보를 제공 할 필요가 다음 URL thorugh가는 트위터 앱 처음으로 만들어야합니다. 일단 모든 정보를 제공하고 저장하십시오. Twitter 응용 프로그램의 소비자 키와 소비자 비밀이 표시됩니다.

    위의 링크에서 소스 파일을 다운로드하고 소비자 키 (API 키), 소비자 시크릿 (API 보안) 및 콜백 URL로 TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET 및 TWITTER_OAUTH_CALLBACK을 바꾸십시오. 그런 다음이 파일을 서버에 업로드하십시오. 이제는 성공적으로 작동 할 것입니다.

    +0

    추가 해줘서 고맙습니다. 그것은 나의 오래된 질문이지만 분명히 여전히 참고 자료로 유용합니다. – tnw

    26

    이 하나, 권한 부여에 대한 URL을 받고 다음 U 트위터

    <?php 
    session_start(); 
    //add autoload note:do check your file paths in autoload.php 
    require "ret/autoload.php"; 
    use Abraham\TwitterOAuth\TwitterOAuth; 
    //this code will run when returned from twiter after authentication 
    if(isset($_SESSION['oauth_token'])){ 
        $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']); 
        $consumer_key = 'your consumer key'; 
        $consumer_secret = 'your secret key'; 
        $connection = new TwitterOAuth($consumer_key, $consumer_secret); 
    //necessary to get access token other wise u will not have permision to get user info 
        $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']); 
        $access_token = $connection->oauth("oauth/access_token", $params); 
        //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error 
        $connection = new TwitterOAuth($consumer_key, $consumer_secret, 
        $access_token['oauth_token'],$access_token['oauth_token_secret']); 
        $content = $connection->get("account/verify_credentials"); 
        print_r($content); 
    } 
    else{ 
        // main startup code 
        $consumer_key = 'your consumer key'; 
        $consumer_secret = 'your secret key'; 
        //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example 
    
        $connection = new TwitterOAuth($consumer_key, $consumer_secret); 
        $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php')); 
        $_SESSION['oauth_token']=$temporary_credentials['oauth_token'];  $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token'])); 
    // REDIRECTING TO THE URL 
        header('Location: ' . $url); 
    } 
    ?> 
    
    +3

    이것은 잘 작동했습니다. 문자 그대로 복사 및 붙여 넣기가 소비자 키를 반환하고 URL을 반환하고 예상대로 실행되었습니다. –

    +0

    굉장 !! 나는 지난 이틀 동안 인터넷을 하루 종일 수색했다. 그러나 나는 더 오래된 twitteroauth 부호를 얻고 있었다. 명성! 이것은 버터처럼 부드럽게 작동했습니다! – A100WebSolutions

    +0

    "add autoload note : autoload.php에서 파일 경로를 확인하십시오."우리는 무엇을 확인해야합니까? 이 파일에서 무엇을 수정해야합니까? – Fred37b