現在、ログインしているユーザーの情報を取得しようとしています。しかし、問題が発生しました。これを 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.
そして最も奇妙なことは、数秒待ってから再度更新すると、関数の最初のロードのようにユーザーの情報が得られることです。
だから私は本当にこの問題を解決する方法にこだわっています.2回目ではなく1回はうまくいく理由が本当にわからないからです.
関数全体は次のとおりです。
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;
*/
}