Twitter身份验证:403禁止:服务器理解该请求,但拒绝执行该请求
我正在尝试使用OAuth对用户进行身份验证并检索用户数据。当用户没有登录到twitter时,身份验证就起作用了,我可以获得用户的详细信息。但是,如果用户已经在twitter上登录,我会收到以下错误消息“403禁止:服务器理解请求,但拒绝完成请求。”。在一些帖子中,他们说所有的请求都是通过https而不是http进行的。我已经做到了。我已从下载了用于身份验证的代码'http://net.tutsplus.com/tutorials/php/how-to-authenticate-users-with-twitter-oauth/' . 请帮忙Twitter身份验证:403禁止:服务器理解该请求,但拒绝执行该请求,twitter,twitter-oauth,http-status-code-403,Twitter,Twitter Oauth,Http Status Code 403,我正在尝试使用OAuth对用户进行身份验证并检索用户数据。当用户没有登录到twitter时,身份验证就起作用了,我可以获得用户的详细信息。但是,如果用户已经在twitter上登录,我会收到以下错误消息“403禁止:服务器理解请求,但拒绝完成请求。”。在一些帖子中,他们说所有的请求都是通过https而不是http进行的。我已经做到了。我已从下载了用于身份验证的代码'http://net.tutsplus.com/tutorials/php/how-to-authenticate-users-wit
$twitterOauthObj = new TwitterOAuth($oauth_consumer_key, $oauth_consumer_secret);
if(!isset($_GET['oauth_token'])){
$requestTokenArray = $twitterOauthObj->getRequestToken($callback_url);
$requestToken = $requestTokenArray['oauth_token'];
$tokenSecret = $requestTokenArray['oauth_token_secret'];
$authorizeUrl = $twitterOauthObj->getAuthorizeURL($requestToken);
$response = $twitterOauthObj->oAuthRequest($authorizeUrl, 'GET', $requestTokenArray);
print_r($response);
} else{
$oauthToken = $_GET['oauth_token'];
$requestToken = $oauthToken;
$oauthVerifier = $_GET['oauth_verifier'];
$accessTokenArray = $twitterOauthObj->getAccessToken($oauthVerifier, $oauthToken);
$oauthToken = $accessTokenArray['oauth_token'];
$oauthTokenSecret = $accessTokenArray['oauth_token_secret'];
$userTwitterId = $accessTokenArray['user_id'];
$screenName = $accessTokenArray['screen_name'];
}
嗯。我让它工作了。我没有重定向到正确授权url。这是修改后的代码
if(!isset($_GET['oauth_token'])){
$requestToken = $twitterOauthObj->getRequestToken();
$_SESSION["oauth_token"] = $requestToken["oauth_token"];
$_SESSION["oauth_token_secret"] = $requestToken["oauth_token_secret"];
header("Location:".$twitterOauthObj->getAuthorizeURL($requestToken["oauth_token"]));
}
谢谢你们的宝贵建议。真的很感激 如果我保留回调url http而不是https,可以吗?谁来帮帮我。