我处于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
答案 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没有验证你的谷歌小网址。