我正在尝试遵循Facebook新指南,将访问令牌延长60天,以替换现已弃用的offline_access权限。
我关注了博客文章
https://developers.facebook.com/docs/offline-access-deprecation/#extend_token
我正在运行这个PHP代码,它使用图形webservice(因为我从服务器扩展客户端令牌以获得额外的安全性,所以不会故意使用facebook API)
$ch = curl_init($url);
$url = "https://graph.facebook.com/oauth/access_token?client_id=" . $app_id . "&client_secret=" .$app_secret . "&grant_type=fb_exchange_token&fb_exchange_token=" . $_REQUEST['t'];
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
哪个有效,唯一的问题是它返回相同的access_token(很好),一个epoch到期时间设置为不到24小时 - 意味着它现在的时间相同,所以它不会扩展令牌。
示例响应(略有编辑的访问令牌)
access_token=BBBCOWPW804EBANG860f0piGXTXMYfY01wXiJgeWHqPdhBcY3g8bCEzYRBiRARARCtX2M2bEi5grt1QalVkTdvaVTrYsYaeyYkOFYDxbncjMDeJf8Vv2V&expires=63918
任何想法为什么?顺便说一句,我确实在我的应用设置中启用了offline_access迁移设置。