2012-06-19 3 views
1

나는 Tumblr에 연결하고 있습니다 (거의 동일한 트위터와 동일한 프로세스입니다). 나는 확인 페이지를 통해 모든 방법을 통해 응용 프로그램을 확인한 다음 previos 페이지로 돌아온다. 모든 올바른 내용은 쿼리 문자열에 있지만 API에서 약간의 오류가 발생한다. docs는 " 잘못된 입력 데이터 ".PHP oAuth는 항상 코드 400을 반환합니다.

 require("tumblr/tumblroauth/tumblroauth.php"); 
     // Enter your Consumer/Secret Key: 
     $consumer = $conf['Tumblr']['consumer']; 
     $secret  = $conf['Tumblr']['secret']; 
     /* Start session and load lib */ 
     if(!isset($_REQUEST['oauth_token'])) 
     { 
      // Start the Session 
      session_start(); 
      $connection = new TumblrOAuth($conf['Tumblr']['consumer'], $conf['Tumblr']['secret']); 
        // this url is correct 
      $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
      $temporary_credentials = $connection->getRequestToken($url); 
      $redirect_url = $connection->getAuthorizeURL($temporary_credentials, FALSE); 

      echo "going to".$redirect_url; // looks good 
        //have to use this as headers have started 
      echo '<script>window.location.href="'.$redirect_url.'";</script>'; 
     } 

     /* If the oauth_token is old redirect to the connect page. */ 
     if (isset($_REQUEST['oauth_token']) && $_SESSION['oauth_token'] !== $_REQUEST['oauth_token']) { 
      $_SESSION['oauth_status'] = 'oldtoken'; 
      session_destroy(); 
     } 
     if(isset($_REQUEST['oauth_token'])) 
     {/* Create TumblroAuth object with app key/secret and token key/secret from default phase */ 
      $connection = new TumblrOAuth($consumer, $secret, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 

      /* Request access tokens from tumblr */ 
      $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']); 

      /* Save the access tokens. Normally these would be saved in a database for future use. */ 
      $_SESSION['access_token'] = $access_token; 

      /* Remove no longer needed request tokens */ 
      unset($_SESSION['oauth_token']); 
      unset($_SESSION['oauth_token_secret']); 

      /* If HTTP response is 200 continue otherwise send to connect page to retry */ 
      if (200 == $connection->http_code) { 
       /* The user has been verified and the access tokens can be saved for future use */ 
       $_SESSION['status'] = 'verified'; 
       echo 'connection made heres the code:<br/>'.$connection->http_code; 
      } else { 
       /* Save HTTP status for error dialog on connnect page.*/ 


        // THIS IS ALWAYS BEING OUTPUT AT THE END 
      echo "oh no something is wrong code:<br/>".$connection->http_code; 
      } 
     } 

사람이 PS 사용 .. 나는이 작업을 얻을 수있는 지구상의 모든 노력을 한 같은 느낌 모습을 가질 수 있습니다하십시오 : 여기

내 코드의 https://github.com/jacobbudin/tumblroauth

답변

0

내가 생각하는 당신의 문제는 시도 여기

$redirect_url = $connection->getAuthorizeURL($temporary_credentials, FALSE); 

입니다

아직도 문제가 있다면 알려주세요.

관련 문제