我使用 jmathai-twitter-async 在我的网站上使用 PHP 创建了一个 twitter 应用程序。一切正常,只是它总是只通过一个帐户登录,而该帐户是我在 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 总是给出相同的响应,即它总是使用我创建应用程序的帐户登录。为什么会这样?