Twitter oAuth 请求令牌无效
Twitter oAuth Invalid request token
我正在使用 TwitterOAuth PHP 库将我的网页连接到 Twitter,以检索经过身份验证的用户数据,但它根本不起作用,我从昨天开始一直在尝试,但我仍然不知道该怎么做。
这是我的代码:
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$credentials = $twitter->oauth('oauth/request_token', array('oauth_callback' => OAUTH_CALLBACK));
$url = $twitter->url("oauth/authorize", array("oauth_token" => $credentials['oauth_token']));
$_SESSION["oauth_token"] = $credentials["oauth_token"];
$_SESSION["oauth_token_secret"] = $credentials["oauth_token_secret"];
?>
<input type="button" name="contactTwitter" id="contactTwitter" onClick='window.location="<?php echo $url; ?>"' value="Connect to Twitter!"/>
<?php
if(isset($_GET['oauth_verifier'])) :
$at=$twitter->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
var_dump($at);
endif;
而且它根本不起作用。我找到了很多解决 TwitterOAuth 问题的结果,但没有人帮助过我。我了解 Twitter API 的运作方式
发送 request_token
、接收 token_verifiers
和获取 access_tokens
但它在这里不起作用。
感谢您的帮助。
问题已解决。
我使用了另一个 PHP 文件来获取 TwitterOAuth 回调结果,该结果将 access_token 发送到我之前无法正常工作的页面。
如果有人需要这个,我将发布 callback.php
代码:
require_once('config.php');
session_start();
use Abraham\TwitterOAuth\TwitterOAuth;
$request_token = array();
$request_token['oauth_token'] = $_SESSION['oauth_token'];
$request_token['oauth_token_secret'] = $_SESSION['oauth_token_secret'];
$connection = new TwitterOAuth(TW_CONSUMER_KEY, TW_CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']);
$access_token = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
if (200 == $connection->lastHttpCode()) {
$_SESSION['access_token'] = $access_token;
unset($_SESSION['oauth_token']);
unset($_SESSION['oauth_token_secret']);
$_SESSION['status'] = 'verified';
} else {
session_destroy();
}
header('Location:./reg.php?st=3');
然后,在注册页面中,我只是重新使用我之前找到的已存储 $_SESSION['access_token']
。
我正在使用 TwitterOAuth PHP 库将我的网页连接到 Twitter,以检索经过身份验证的用户数据,但它根本不起作用,我从昨天开始一直在尝试,但我仍然不知道该怎么做。
这是我的代码:
$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$credentials = $twitter->oauth('oauth/request_token', array('oauth_callback' => OAUTH_CALLBACK));
$url = $twitter->url("oauth/authorize", array("oauth_token" => $credentials['oauth_token']));
$_SESSION["oauth_token"] = $credentials["oauth_token"];
$_SESSION["oauth_token_secret"] = $credentials["oauth_token_secret"];
?>
<input type="button" name="contactTwitter" id="contactTwitter" onClick='window.location="<?php echo $url; ?>"' value="Connect to Twitter!"/>
<?php
if(isset($_GET['oauth_verifier'])) :
$at=$twitter->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
var_dump($at);
endif;
而且它根本不起作用。我找到了很多解决 TwitterOAuth 问题的结果,但没有人帮助过我。我了解 Twitter API 的运作方式
发送 request_token
、接收 token_verifiers
和获取 access_tokens
但它在这里不起作用。
感谢您的帮助。
问题已解决。
我使用了另一个 PHP 文件来获取 TwitterOAuth 回调结果,该结果将 access_token 发送到我之前无法正常工作的页面。
如果有人需要这个,我将发布 callback.php
代码:
require_once('config.php');
session_start();
use Abraham\TwitterOAuth\TwitterOAuth;
$request_token = array();
$request_token['oauth_token'] = $_SESSION['oauth_token'];
$request_token['oauth_token_secret'] = $_SESSION['oauth_token_secret'];
$connection = new TwitterOAuth(TW_CONSUMER_KEY, TW_CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']);
$access_token = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
if (200 == $connection->lastHttpCode()) {
$_SESSION['access_token'] = $access_token;
unset($_SESSION['oauth_token']);
unset($_SESSION['oauth_token_secret']);
$_SESSION['status'] = 'verified';
} else {
session_destroy();
}
header('Location:./reg.php?st=3');
然后,在注册页面中,我只是重新使用我之前找到的已存储 $_SESSION['access_token']
。