0

Twitter 認証 (OAuth を使用) の実装に 1 日中苦労していますが、もう必死で、まだエラー メッセージCould not authenticate you. 、それは私の悪夢になりつつあります。

認証に使用する2つのファイルは次のとおりです。

requestOauth.php

session_start();
$basedir=dirname(__FILE__)."";  
include($basedir.'/config.php');
include_once( $basedir.'/twitteroauth/twitteroauth.php' );

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);    
$request_token = $connection->getRequestToken(OAUTH_CALLBACK);

//$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
//$_SESSION['oauth_token_secret'] = $secret = $request_token['oauth_token_secret'];
$_SESSION['oauth_token'] = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 

switch ($connection->http_code) {
  case 200:

    $url = $connection->getAuthorizeURL($_SESSION['oauth_token'], FALSE);
    header('Location: ' . $url); 
    break;
  default:
    echo 'Could not connect to Twitter. Refresh the page or try again later.';
}

index.php

if(!isset($_GET['oauth_verifier'])){
    $link_redirect = '<a href="requestOauth.php">Login With Twitter</a>';
}
else
{
    if(isset($_SESSION['access_token'])){ 
        $oauth_token = $_SESSION['access_token']['oauth_token'];
        $oauth_token_secret = $_SESSION['access_token']['oauth_token_secret'];
        $twitterRequest = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret);

    } else {

        $twitterRequest = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
        $accessToken = $twitterRequest->getAccessToken($_GET['oauth_verifier']);
        $_SESSION['access_token'] = $accessToken;
        echo 'ACCESS TOKEN2: '.var_dump($_SESSION['access_token']);
    }

    $user_info = $twitterRequest->get('account/verify_credentials');
    if(isset($user_info->error))
    {
        echo $user_info->error;
        //header("location: requestOauth.php");
    }  else {
        var_dump($_GET);
    }

私はまだあなたを認証できませんでしたというエラーが表示されます。そして、どこが間違っている可能性があるのか​​ 、すでにわかりません...

この問題を理解する方法を教えてください。

ありがとうございました

4

1 に答える 1

0

ドキュメントによると、ステップ8では、そこから取得した値を使用してTwitterOAuth呼び出した後、別のオブジェクトを作成する必要があります。getAccessToken

あなたの場合、このようなものが機能する可能性があります:

$twitterRequest = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $accessToken['oauth_token'], $accessToken['oauth_token_secret']);
于 2012-08-13T13:01:16.123 に答える