0

PHP を使用して自分の Web サイトで Twitter アプリを作成するために、jmathai-twitter-async を使用しました。常に 1 つのアカウントのみを使用してログインし、そのアカウントが dev.twitter で Twitter アプリを作成したアカウントであることを除いて、すべて正常に動作しています。この背後にある理由を誰か教えてもらえますか? それはAPIの例外ですか、それとも何か不足していますか? 前もって感謝します。最初はハードコーディングしたと思っていました...しかし、コード全体をチェックしましたが、何も見つかりませんでした。ここにlogin-twitter.phpの私のコードがあります

<code>
   <?php
    session_start(); 
    require_once('twitterLib/EpiCurl.php');
    require_once('twitterLib/EpiOAuth.php');
    require_once('twitterLib/EpiTwitter.php');
    require_once('twitterLib/secret.php');
    require_once('config/functions.php');
    $twitterObj = new EpiTwitter($consumer_key, $consumer_secret, $token, $secret);
    $twitterObjUnAuth = new EpiTwitter($consumer_key, $consumer_secret);
    $oauth_token = $_GET['oauth_token'];
    if($oauth_token == '')
    { 
    $url = $twitterObjUnAuth->getAuthenticateUrl();
    header('Location:'.$url);
    }
    else{ 
    $token = $twitterObj->getAccessToken();
    $twitterObj->setToken($twitterObj->token, $twitterObj->tokenSecret);         
    $_SESSION['ot'] = $twitterObj->token;
    $_SESSION['ots'] = $twitterObj->tokenSecret;
    $twitterInfo = $twitterObj->get('/account/verify_credentials.json');
    $twitterInfo->response;
    $username = $twitterInfo->screen_name;
    $profilepic = $twitterInfo->profile_image_url;
    $uid = $twitterInfo->id;
    $ip_address = $_SERVER['REMOTE_ADDR']; 
    $_SESSION['oauth_id'] = $uid;
    $_SESSION['username'] = $username;
    $_SESSION['oauth_provider'] = "twitter";
    $user = new User();
    $userdata = $user->checkUser($uid, 'twitter', $username,'',$twitterObj->token,$twitterObj->tokenSecret,$profilepic,$ip_address);
    if(!empty($userdata)){
    $_SESSION['id'] = $userdata['id'];           
    header('Location:index.php?id='.$_SESSION['id']);
    }
    else
    {}
    }     
    ?>
</code>

ここでの問題は、 $twitterInfo->response が常に同じ応答を返していることです。つまり、アプリを作成したアカウントで常にログインしています。なぜそうなのですか?

4

1 に答える 1

0

ユーザーキーとシークレットをハードコーディングしたようです。

問題が発生していると思われるコードを表示してみませんか。

于 2012-12-19T12:45:02.883 に答える