Я пытаюсь войти в систему с помощью epi twitter, вот код

    $consumerKey = $this->consumerKey ;
    $consumerSecret = $this->consumerSecret;        
    include 'application/libraries/twitter-oauth/EpiCurl.php';
    include 'application/libraries/twitter-oauth/EpiOAuth.php';
    include 'application/libraries/twitter-oauth/EpiTwitter.php';
    error_reporting(E_ALL);

    $Twitter = new EpiTwitter($consumerKey, $consumerSecret);

    if(isset($_GET['oauth_token']) || (isset($_COOKIE['oauth_token']) && isset($_COOKIE['oauth_token_secret'])))
    {
              // process
    }
    elseif(isset($_GET['denied']))
    {
        // user denied access
        echo 'You must sign in through twitter first';
        exit;
    }
    else
    {
        // user not logged in
        echo 'You are not logged in';
        exit;
    }   

Но всегда ответ "вы не вошли в систему", хотя я вошел в твиттер на другой странице. Что-то не так с моим кодом?

Благодарю за любую помощь.

С уважением

0
Frans 1 Апр 2013 в 20:19

1 ответ

Лучший ответ

Когда вы аутентифицируете пользователя, сохраните их authToken и authTokenSecret. Либо в сеансе / базе данных / cookie, решать вам.

Затем, когда вы создаете новый экземпляр своего класса EpiTwitter, передайте эти 2 новых аргумента.

$Twitter = new EpiTwitter($consumerKey, $consumerSecret, $userAuthToken, $userTokenSecret);

См. Аргументы для вызываемой функции __construct,

  public function __construct($consumerKey = null, $consumerSecret = null, $oauthToken = null, $oauthTokenSecret = null)
  {
    parent::__construct($consumerKey, $consumerSecret, self::EPITWITTER_SIGNATURE_METHOD);
    $this->setToken($oauthToken, $oauthTokenSecret);
  }
0
Adrian 1 Апр 2013 в 20:26
Cmiiw, разве мы не получаем $ userAuthToken из $ Twitter = new EpiTwitter ..., почему мы включаем в параметр?
 – 
Frans
3 Апр 2013 в 15:46