我的 Facebook PHP SDK 应用程序登录到 Facebook 并收到 access_token。
以后如何使用 PHP SDK 获取“expires”参数的值?
我的 Facebook PHP SDK 应用程序登录到 Facebook 并收到 access_token。
以后如何使用 PHP SDK 获取“expires”参数的值?
Facebook API 在其响应中提供 expires 参数以及 access_token ,如下所述:https ://developers.facebook.com/docs/authentication/
除了访问令牌(access_token 参数)之外,响应还包含令牌过期前的秒数(expires 参数)。令牌过期后,您将需要重新运行上述步骤以生成新代码和 access_token,但如果用户已经授权您的应用程序,则不会再次提示他们这样做。如果您的应用需要一个无限期的访问令牌(可能在用户不使用您的应用后代表用户执行操作),您可以请求offline_access 权限。
如果您想获得访问令牌的剩余时间,我认为 Facebook 甚至没有通过 API 为您执行此操作的方法。请求一个新的访问令牌或请求一个“offline_access”令牌更容易,这也记录在上述参考中。
要使用 Facebook PHP SDK 检索“expires”参数,您需要在 SDK 中提供的 base_facebook.php 脚本中添加几行:
//base_facebook.php
//At Line 728
if (!isset($response_params['access_token'])) {
return false;
}
//Add these two lines here
$_SESSION['token_created_time'] = time();
$_SESSION['token_expires'] = $response_params['expires'];
return $response_params['access_token'];
与应用程序连接后,您可以使用以下内容访问您的“过期”参数和令牌过期前的剩余时间:
//Your "expires" parameter :
echo $_SESSION['token_expires'];
//The remaining time before your token expires :
echo $_SESSION['token_expires'] + $_SESSION['token_created_time'] - time();
我希望它会有所帮助。