Facebook access_token自动续订

时间:2016-04-06 09:04:47

标签: php facebook facebook-graph-api facebook-php-sdk

我的系统中有Facebook登录数据库。我将带有UserID的Long-Lived用户访问令牌存储到我的数据库中,我需要在令牌过期之前续订令牌。我找到了page in Facebook API documentation,我尝试按照步骤更新令牌。 Facebook返回不同的访问令牌,但到期时间仍然相同。

这就是我所拥有的:(我正在使用Facebook的PHPSDK 5.0.0)

$t = $this->access_token;
if ($t && $t->getExpiresAt()->getTimestamp() <= strtotime('+14 days'))
{
    $oauth = $this->fb->getOAuth2Client();
    $code = $oauth->getCodeFromLongLivedAccessToken($t, $this->redrect_urls['renew']);
    $t = $oauth->getAccessTokenFromCode($code, $this->redrect_urls['renew']);
    if ($t)
    {
        $this->database->table($this->config->getTable('facebook-logins'))
            ->where('user_id', $this->user_id)
            ->update(array(
                'expires_at'    => $t->getExpiresAt(),
                'access_token'  => $t->getValue(),
                'facebook_name' => $this->getUserAccount()['name'],
            ));
    }
}

如何更新令牌到期日期?是否可以完全自动完成此令牌续订,而无需用户点击链接或其他任何内容?

感谢您的任何提示, TheKronnY

0 个答案:

没有答案