TwitterOAuth:无效的oauth_verifier参数

时间:2017-10-07 16:14:46

标签: php twitter-oauth

我处于OAuth流程的阶段,我获得OAuth验证程序并且必须使用它来获取永久令牌,但是我遇到错误"无效的oauth_verifier参数"。

// I get a valid oauth verifier
$oauth_verifier = filter_input(INPUT_GET, "oauth_verifier");

// I am able to run var_dump($connection) and the response seems valid
$connection = new TwitterOAuth(
    $config["consumer_key"],
    $config["consumer_secret"],
    $_SESSION["oauth_token"],
    $_SESSION["oauth_token_secret"]
);

// I believe this is where the problem lies, if I try var_dump($token) nothing shows but my original error message
$token = $connection->oauth(
    "oauth/access_token", [
        "oauth_verifier" => $oauth_verifier
     ]
);

$twitter = new TwitterOAuth(
    $config["consumer_key"],
    $config["consumer_secret"],
    $token["oauth_token"],
    $token["oauth_token_secret"]
);

完整的错误消息是:

Fatal error: Uncaught Abraham\TwitterOAuth\TwitterOAuthException: Invalid request token. in C:\xampp\htdocs\twitteroauth-master\src\TwitterOAuth.php:158 Stack trace: #0 C:\xampp\htdocs\twitter_callback.php(34): Abraham\TwitterOAuth\TwitterOAuth->oauth('oauth/access_to...', Array) #1 {main} thrown in C:\xampp\htdocs\twitteroauth-master\src\TwitterOAuth.php on line 158

1 个答案:

答案 0 :(得分:0)

如果您在本地服务器上运行此功能,请检查您的url_callback,它不是google tiny url 形式,它必须采用" http://localhost:80/file_name的形式"或" http://localhots:8080/file_name"。如果您仍然遇到此问题,请在 try catch block 中编写 throw 语句。 例如

try {
    throw new TwitterOAuthException($result);
}
catch(Exception $e) {

}

如果你在服务器上运行,尽管总是检查你的 url_callback不应该是google tiny url 的形式,因为新的twitter oauth没有验证你的谷歌小网址。