我的系统中有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