2012-06-19 4 views
1

Я подключаюсь к Tumblr (это тот же процесс, что и твиттер, почти идентичный). Я добираюсь до страницы проверки, проверяю приложение, а затем возвращаюсь на предыдущую страницу, все правильные вещи находятся в querystring, но я получаю ошибку 400 бит в документах API, что это означает, что " недопустимые входные данные ".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; 
      } 
     } 

Пожалуйста, может кто-то есть внешний вид, я чувствую, как я попробовал все на планете, чтобы получить эту работу .. пса с помощью: https://github.com/jacobbudin/tumblroauth

ответ

0

Я думаю, что ваше проблема здесь

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

Попробуйте

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

и сообщите нам, если у вас все еще есть проблемы

Смежные вопросы