Сохранить токен доступа в Epi Twitter Oauth - PullRequest
0 голосов
/ 09 ноября 2010

Я настраиваю веб-сайт с помощью метода EPI Twitter Oauth. Я могу заставить пользователя войти в систему и получить его информацию. Однако, когда я обновляю страницу с информацией, она теряется. Я предполагаю, что это связано с токеном доступа, и я надеюсь, что кто-то может предложить самый простой способ исправить это.

<?php 

include 'lib/EpiCurl.php';
include 'lib/EpiOAuth.php';
include 'lib/EpiTwitter.php';
include 'lib/secret.php';

$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);
$oauth_token = $_GET['oauth_token'];
 if($oauth_token == '')
 {
 $url = $twitterObj->getAuthorizationUrl();
 echo "<div id=\"container\">";
  echo "<div id=\"content\">";
   echo "<div id=\"holder\">";
   echo "</div>";
   echo "<div id=\"nav\">";
    echo "<a href='$url'><img src=\"signup.jpg\" class=\"linkimage\" /></a>";
   echo "</div>";
  echo "</div>";
 echo "</div>";
}
 else
 {
 $twitterObj->setToken($_GET['oauth_token']);
 $token = $twitterObj->getAccessToken();
 $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);
 $_SESSION['ot'] = $token->oauth_token;
 $_SESSION['ots'] = $token->oauth_token_secret;
 $twitterInfo= $twitterObj->get_accountVerify_credentials();
 $twitterInfo->response;



 $username = $twitterInfo->screen_name;
 $profilepic = $twitterInfo->profile_image_url;

 include 'home.php';

 }

if(isset($_POST['submit']))
 {
 $msg = $_REQUEST['tweet'];

 $twitterObj->setToken($_SESSION['ot'], $_SESSION['ots']);
 $update_status = $twitterObj->post_statusesUpdate(array('status' => $msg));
 $temp = $update_status->response;

 echo "<br /><div align='center'>Updated your Timeline Successfully .</div>";

 }

?>

1 Ответ

0 голосов
/ 09 ноября 2010

Мне кажется, что вы проверяете $_GET токен oauth. Я полагаю, что это может быть причиной проблемы «потерянной информации», поскольку к моменту обновления страницы токен oauth уже сохранен в переменной сеанса и может больше не храниться в URL. Я думаю, что вы можете заменить следующее:

$oauth_token = $_GET['oauth_token'];

с

$oauth_token = empty($_SESSION['ot']) ? $_SESSION['ot'] : $_GET['oauth_token'];
...