目前我正在尝试获取我登录用户的信息。但是我遇到了一个问题,我在 Yii 的一个函数中构建了它,这确实有效。但有时它不会。
当我转到该功能时,它会执行以下操作:
$accesToken = Yii::app()->facebook->getAccessToken();
$results = Yii::app()->facebook->api('/me');
print_r($results);
当我启动它时,我得到了所有信息,但是当我刷新同一页面时,它给出了以下错误:
Error 500
An active access token must be used to query information about the current user.
最奇怪的是,当我等待几秒钟并再次刷新时,它会给我用户的信息,就像第一次加载函数时一样。
所以我真的被困在如何解决这个问题上,因为我真的不知道为什么它一次有效,而不是第二次。
整个功能是:
public function actionLogin() {
$facebookID = Yii::app()->facebook->getUser();
if($facebookID == 0) {
echo 'No Facebook id.';
} else {
$record = Users::model()->findByAttributes(array('FB_id'=>$facebookID));
if($record===null) {
echo 'Got facebookID but not in database!';
echo $facebookID;
} else {
$accesToken = Yii::app()->facebook->getAccessToken();
$results = Yii::app()->facebook->api('/me');
print_r($results);
echo '<br><br>';
echo $accesToken;
//echo 'Got facebookID and is in database!';
}
}
/*
echo $facebookID;
echo '<br>';
echo $accesToken;
*/
}