我有一个功能可以检查用户是否登录到 Facebook。它工作正常,但在一段时间(如 10 分钟)不做任何事情(打开页面但未在其中执行任何操作)之后,如果我刷新页面,令牌就会过期,并且消息会捕获异常:
An active access token must be used to query information about the current user.
但是如果我第二次再次刷新页面,让函数再次执行,那么我得到一个新的Access Token,就没有问题了。这是为什么?为什么我在第一次刷新时没有获得有效的令牌?还有,为什么令牌这么快(10 分钟)到期?
这是我正在谈论的函数的代码:
$_FB = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET',
));
$userFID = $_FB->getUser();
try {
$user_profile = $_FB->api('/me');
} catch (FacebookApiException $e) {
$userFID = 0;
echo "Error: " . $e->getMessage();
}
有人知道我做错了什么吗?谢谢!