Я использую библиотеку PHP OAUTH от Jason Mathai и продолжаю получать ошибку токена с недействительным / истекшим сроком действия всякий раз, когда пытаюсь получить доступ к информации пользователя с помощью следующего тестового кода:
//sessions stuff here
session_start();
//twitter stuff
include 'lib/EpiCurl.php';
include 'lib/EpiOAuth.php';
include 'lib/EpiTwitter.php';
include 'lib/secret.php';
//ensure token is set for the session
$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);
if($_GET['oauth_token']){
$_SESSION['o_token'] = $_GET['oauth_token'];
}
if(!isset($_SESSION['o_token']))
{
$url = $twitterObj->getAuthorizationUrl();
header("Location:$url");
die();
}
$o_token = $_SESSION['o_token'];
$twitterObj->setToken($o_token);
$token = $twitterObj->getAccessToken();
$twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);
setcookie('oauth_token', $token->oauth_token);
setcookie('oauth_token_secret', $token->oauth_token_secret);
$twitterObj = new EpiTwitter($consumer_key, $consumer_secret,$_COOKIE['oauth_token'], $_COOKIE['oauth_token_secret']);
$twitterInfo= $twitterObj->get_accountVerify_credentials();
$twitterInfo->response;
var_dump($twitterInfo->response); // this tells me the error
try{
echo $twitterInfo->screen_name;
}catch(EpiTwitterException $e){
echo $e->getMessage();
}
Все методы отображаются напрямую на HTTP, получают вызовы через API Twitter. Я полагаю, что моя проблема не имеет ничего общего с библиотекой Джейсона (поскольку она довольно хорошо используется), а как-то связана с моей логикой. Вся помощь приветствуется!