2010-11-09 5 views
0

Я создаю сайт, используя метод EPI Twitter Oauth. Я могу заставить пользователя войти и получить информацию. Однако, когда я обновляю страницу, на которой есть информация, информация теряется. Я предполагаю, что это связано с токеном доступа, и я надеюсь, что кто-то может предложить самый простой способ исправить это.Сохранить токен доступа в 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>"; 

} 

?> 

ответ

0

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

$oauth_token = $_GET['oauth_token']; 

с

$oauth_token = empty($_SESSION['ot']) ? $_SESSION['ot'] : $_GET['oauth_token']; 
Смежные вопросы