1

我有一个功能可以检查用户是否登录到 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();
}

有人知道我做错了什么吗?谢谢!

4

0 回答 0