Ошибки EpiTwitter Auth - PullRequest
       12

Ошибки EpiTwitter Auth

0 голосов
/ 09 августа 2011

Итак, обо всем по порядку, вот код:

$consumer_key = '*';
$consumer_secret = '*';

$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);
$oauth_token = $_GET['oauth_token'];

if($oauth_token == ""){
    echo "EFF";
    $url = $twitterObj->getAuthenticateUrl();
    echo "<div style='width:200px;margin-top:200px;margin-left:auto;margin-right:auto'>";
    echo "<a href='$url'>Sign In with Twitter</a>";
    echo "</div>";
}else{
    $twitterObj->setToken($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('/account/verify_credentials.json');
    $res = $twitterInfo->response; //valid session
    echo "<strong>".$res['screen_name'] . " is Connected!</strong><br/>";
}

Он использует новейшую библиотеку EpiTwitter.По какой-то причине каждый раз, когда я пытаюсь запустить скрипт, я получаю:

Неустранимая ошибка: необработанное исключение 'EpiOAuthUnauthorizedException' в /var/www/twt/EpiOAuth.php:432 Трассировка стека: # 0 / var /www / twt / EpiOAuth.php (404): EpiOAuthException :: Raise (Object (EpiCurlManager), false) # 1 /var/www/twt/EpiOAuth.php(45): EpiOAuthResponse -> __ get ('oauth_token') # 2/var/www/twt/twt.php(18): EpiOAuth-> getAuthenticateUrl () # 3 {main} добавляется в /var/www/twt/EpiOAuth.php в строке 432

Ответы [ 2 ]

0 голосов
/ 02 июля 2013

Это случилось со мной, когда мои customer_key и consumer_secret были не правы.Или, скорее, значения были правильными, но имена переменных были разными, потому что я вставил:

$consumer_key = 'R4kZPHA0xxxxxxxxCtFw';
$consumer_secret = 'blpXdbnxxxxxxxxxxVtuBklFcZ8SA';

$token = '15609xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWL9hH74pEEl0H';
$secret= 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxh7IlZ4kMP052Xr0';

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

... где имена переменных были разными в строках назначения переменных и в строке создания объекта.

Но, просто дважды проверьте, что значения $ consumer_key и $ consumer_secret, которые вы используете, на самом деле являются вашим приложением:

https://dev.twitter.com/apps/xxxxxxx/show

Я пробовал разные oAuth-библиотеки Twitter, и эта выглядит наиболее полезной,Но, похоже, epicurl не очень изящно обрабатывает мелкие синтаксические ошибки.

0 голосов
/ 11 августа 2011

https://github.com/jmathai/twitter-async/issues/73

Я нашел, если я сделал, ниже, ошибки исчезли.

try{ 
 $twitterInfo = $twitterObj->get('/account/verify_credentials.json');
 $res = $twitterInfo->response; //valid session
} catch(EpiTwitterException $e){
 // this catches all of the EpiTwitter* exceptions
}
...